从建筑物矢量drawable停止应用程序

时间:2017-12-14 18:31:54

标签: android svg vector

我在我的应用中使用矢量drawable。我已经改变了xml路径中矢量的颜色。但在此之后,当我给应用程序运行它显示此错误gradle failed to build请帮助我,我是矢量drawables的新手。

3 个答案:

答案 0 :(得分:1)

您正在使用矢量兼容性版本来解析您的<vector>并生成不同分辨率的.png个文件。正如错误消息所示,此过程不支持对其他资源的引用(在您的情况下为@android:color/white)。

改变这个:

android:fillColor="@android:color/white"

为:

android:fillColor="#fff"

答案 1 :(得分:1)

这是该工具的限制。 android:fillColor="@android:color/white"适用于API 21,如果您在设备上运行应用,或设置Android Studio预览窗口的API级别&gt; = 21。

但它不支持我们的后向支持(XML - &gt; PNG)路径以支持API&lt; 21.

所以在你的情况下

更改

android:fillColor="@android:color/white"

android:fillColor="#ffffff"

更多请求此链接
https://issuetracker.google.com/issues/37061710

答案 2 :(得分:0)

我曾遇到过同样的问题。在我的情况下,我没有必要将路径颜色更改为android:fillColor="#fff"

这是我的svg的xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="512dp"
    android:height="512dp"
    android:viewportWidth="42.0"
    android:viewportHeight="42.0">
<path
    android:pathData="M0,20h42v2h-42z"
    android:fillColor="@android:color/white"/>
<path
    android:pathData="M21,13c2.76,0 5,-2.24 5,-5s-2.24,-5 -5,-5s-5,2.24 -5,5S18.24,13 21,13zM21,5c1.65,0 3,1.35 3,3s-1.35,3 -3,3s-3,-1.35 -3,-3S19.35,5 21,5z"
    android:fillColor="@android:color/white"/>
<path
    android:pathData="M21,29c-2.76,0 -5,2.24 -5,5s2.24,5 5,5s5,-2.24 5,-5S23.76,29 21,29zM21,37c-1.65,0 -3,-1.35 -3,-3s1.35,-3 3,-3s3,1.35 3,3S22.65,37 21,37z"
    android:fillColor="@android:color/white"/>

看,我没有改变颜色参考。虽然我的minSDK是14。我错误的是我没有将此行添加到应用程序级别的gradle文件

android{
     ....
     vectorDrawables.useSupportLibrary = true
}

我不确定你是否犯了同样的错误。让我知道你的情况是否相同

相关问题