故障描述
Can’t process attribute android:fillColor="@android:color/white":
references to other resources are not supported by build-time PNG
generation. File was preprocessed as vector drawable support was added
in Android 5.0 (API level 21) See
http://developer.android.com/tools/help/vector-asset-studio.html for
details.
在解决这个问题之前,先了解下相关资料.
添加多密度矢量图形
Android Studio 包含一个名为 Vector Asset Studio 的工具,可帮助您添加 Material
图标以及将可扩展矢量图形 (SVG) 和 Adobe Photoshop Document (PSD)
文件作为矢量图资源导入到项目中。使用矢量图代替位图可以减小 APK
的尺寸,因为可以针对不同屏幕密度调整同一文件的大小,而不会降低图像质量。对于不支持矢量图的较早版本 Android 系统,Vector
Asset Studio 可在构建时针对每种屏幕密度将矢量图转换为不同大小的位图。
矢量图向后兼容性解决方案
解决方案:
支持库
此技术需要 Android 支持库 23.2 或更高版本、适用于 Gradle 的 Android 插件 2.0
或更高版本,且仅使用矢量图。利用支持库中的 VectorDrawableCompat 类,可实现在 Android 2.1(API 级别
7)及更高版本中支持 VectorDrawable。
在使用 Vector Asset Studio 之前,您必须向 build.gradle 文件添加一条声明:
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
dependencies {
compile 'com.android.support:appcompat-v7:23.2.0'
}
参考资料:http://developer.android.google.cn/tools/help/vector-asset-studio.html