Ссылки на другие ресурсы не поддерживаются при создании PNG во время сборки
AndroidStudio 3.0 / Android Gradle plugin 3.0
<vector>
<path android:fillColor="@color/image_button_disabled"/>
</vector>
Я получаю эту ошибку:
ссылки на другие ресурсы не поддерживаются генерацией PNG во время сборки
можно ли его решить или это устаревшее решение?
6 ответов:
в приложении
build.gradle
добавить следующую строку:defaultConfig{ vectorDrawables.useSupportLibrary = true }
посмотреть Разработчики Android: Решение Обратной Совместимости Векторных Чертежей для сведения.
вы должны использовать шестнадцатеричный код напрямую не ссылаясь на ресурс.
<vector <path android:fillColor="#FFF"/></vector>
немного больше контекста для этой ошибки:
- Android 5.0 (уровень API 21) была первой версией, официально поддерживающей векторные чертежи.
- если вы используете minSdkVersion ниже 20, есть два решения для векторного рисования
- студия векторных активов Android Studio генерирует PNG. Пожалуйста, взгляните Android Studio document. Но ссылки на другие ресурсы не поддерживаются при создании PNG во время сборки.
- использовать библиотека поддержки
- или, используйте 21 или выше для minSdkVersion
для библиотеки поддержки добавьте оператор в свою сборку.файл gradle:
android { defaultConfig { vectorDrawables.useSupportLibrary = true } } dependencies { compile 'com.android.support:appcompat-v7:23.2.0' }
Не используйте colorReference в атрибуте fillColor в векторном drawable просто используйте код hexa
использовать такой
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path android:fillColor="#1abc9c" android:pathData="M9,11L7,11v2h2v-2zM13,11h-2v2h2v-2zM17,11h-2v2h2v-2zM19,4h-1L18,2h-2v2L8,4L8,2L6,2v2L5,4c-1.11,0 -1.99,0.9 -1.99,2L3,20c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.9,-2 -2,-2zM19,20L5,20L5,9h14v11z"/>
вместо
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path android:fillColor="@color/colorPrimary" android:pathData="M9,11L7,11v2h2v-2zM13,11h-2v2h2v-2zM17,11h-2v2h2v-2zM19,4h-1L18,2h-2v2L8,4L8,2L6,2v2L5,4c-1.11,0 -1.99,0.9 -1.99,2L3,20c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.9,-2 -2,-2zM19,20L5,20L5,9h14v11z"/>