Android:自动执行SVG导入

时间:2016-12-02 08:09:05

标签: android android-studio svg android-drawable

我们有一个遗留的Android项目,在mdpi,hdpi等相应的可绘制文件夹中使用drawables。我们计划删除PNG文件并转换到SVG。描述的here SVG导入UI从svg创建drawables xml。有没有办法从命令行运行此工具,以便我们可以自动从SVG转换为Android Drawable.xml格式。我们有很多文件,所以手动操作很繁琐。 (或者,如果这不可能,我将编写一个脚本,将SVG转换为Android Drawable.xml格式。如果这样的工具已经存在,那将非常有帮助。)

感谢。

5 个答案:

答案 0 :(得分:6)

Android Studio 3.4版添加了资源管理器工具,该工具可用于批量导入SVG,并将它们一次转换为矢量可绘制对象。

  1. ToolsResource Manager
  2. 选择Drawable标签
  3. 点击左上角的+按钮
  4. 选择Import Drawables

在那里,您可以一次选择要导入的所有文件。 更多详细信息here

答案 1 :(得分:4)

Android Studio中的转换器代码可在此处找到:

SVG2Vector.java

提取它并将其转换为命令行实用程序应该相当容易。

答案 2 :(得分:1)

从Android SDK源库中查看此工具: https://www.androiddesignpatterns.com/2018/11/android-studio-svg-to-vector-cli.html

您可以下载已编译的版本,也可以自己编译。

答案 3 :(得分:1)

也许为时已晚,但我建议使用Respresso,它是一种在线工具,能够将SVG图像批量转换为Android矢量可绘制对象。 (如果需要,它还会将其转换为适用于iOS的pdf。)

您必须批量上传图像,然后使用tool's gradle plugin将调整大小/转换后的图像直接同步到您的项目中。

请注意,这将需要您create an account (for free) ,因为它将任何更改直接同步到您的项目。 (因此,您可以添加/更改图像(svg,pdf,png,jpeg,android drawable),并且它将在下一个版本中自动添加/更改项目中已转换的文件。)

我使用过该工具,我认为它确实很棒,我个人使用。我没有股票。希望您也喜欢。

答案 4 :(得分:0)

找到一个在线工具:http://inloop.github.io/svg2android/ 如果有一个Android提供的命令行工具,它将在通过脚本自动化方面非常有用。