在最近的 google IO 2015 中,google 宣布新的 Android Studio 1.3/新的 gradle 插件将支持导入和 SVG 文件,并且构建系统将为不同的设备密度(hdpi、xhdpi、xxhdpi 等)生成 Assets :
http://robovm.com/google-io-summary-whats-new-in-android-development-tools/ https://www.youtube.com/watch?v=f7ihSQ44WO0&feature=youtu.be&t=2m46s
不幸的是,似乎没有更多关于如何实现这一目标的信息。有没有人有更详细的介绍?
有一些提到它: Android: Using SVG in res leads to error: "The file name must end with .xml or .png"
我尝试创建一个 hello world 应用程序并放置一个 svg 文件(在 drawable 文件夹中将其重命名为 xml)。它编译并安装在设备上,但在执行过程中崩溃,说 svg 不是 vlaid 标签。假设原始文件需要更多的转换。
最佳答案
要添加新的矢量资源,请右键单击 Android Studio 中的可绘制文件夹,然后选择新建 > 矢量资源。请注意,您需要 Gradle 1.4 或更高版本才能在构建目标低于 21 的项目中使用矢量资源。在这种情况下,Gradle 将在构建时将矢量图像转换为 PNG。
Gradle 1.4 目前 beta 版本在发布 apk 时打开 keystore 存在一些问题,所以在导入大量矢量图之前,先尝试发布你的应用(这只是我个人使用 Gradle 1.4.0-beta6 的经验, Gradle 将报告一个被篡改的 keystore ,例如参见 here )
关于Android Studio 1.3 SVG 到 png 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30580391/