1.通过Android Studio批量导入
通过Android Studio可以导入,参考路径:Tools - Resource Manager - 点击+号 - Import Drawables
此种方式适合少量的svg导入,批量导入非常麻烦,推荐使用本文的第二种
2. 通过Svg2Vector批量导入
实际上,可以利用Android Studio IDE的源码来处理这个:
2.1 新建java library
在Android Studio中新建Module,选择Java or Kotlin Library
2.2 build.gradle中增加依赖
dependencies {
implementation 'com.android.tools:sdk-common:31.6.0'
}
2.3 新建java class
新建java class,如ImportSVGUtil.java,调用com.android.ide.common.vectordrawable.Svg2Vector即可:
public class ImportSVGUtil {
public static void main(String args[]) {
File src = new File("D:\\test.svg");
File dest = new File("D:\\MyProject\\app\\src\\main\\res\\drawable\\test.xml");
svg2Vector(src, dest);
}
private static void svg2Vector(File src, File dest) {
if (!dest.exists()) {
File parent = dest.getParentFile();
if (!parent.exists()) {
parent.mkdirs();
}
try {
dest.createNewFile();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
try (FileOutputStream fous = new FileOutputStream(dest)) {
Svg2Vector.parseSvgToXml(Paths.get(src.getAbsolutePath()), fous);
} catch (Exception ignore) {
System.err.println("error" + ignore);
}
}
}
若有批量转换需求,改下参数即可。执行完毕之后,即可直接将原始svg转为Android所需的vector svg
前人栽树后人乘凉,感谢大佬: github.com/ravibhojwan… github.com/ravibhojwan…