AndroidStudio 3.0 / Android Gradle plugin 3.0
<vector>
<path android:fillColor="@color/image_button_disabled"/>
</vector>
Me sale este error:
las referencias a otros recursos no son compatibles con la generación de PNG en tiempo de construcción
¿Será posible resolverlo o es una solución obsoleta?
android
resources
android-studio-3.0
langme
fuente
fuente
Respuestas:
Para admitir API SDK <24, agregue la siguiente línea a su aplicación
build.gradle
:Si su minSdkVersion es 24 o superior, entonces su problema se resolverá por sí solo, porque VectorDrawables tiene soporte completo comenzando con esta API.
Consulte Desarrolladores de Android: solución de compatibilidad con versiones anteriores de Vector Drawables para obtener más información.
fuente
debe usar el código hexadecimal directamente sin referirse a un recurso.
fuente
vectorDrawables.useSupportLibrary = true
a subuild.gradle
.Un poco más de contexto para este error:
Para la biblioteca de soporte, agregue una declaración a su archivo build.gradle:
fuente
fillType
esnonZero
pero solo difiereevenOdd
en algunos casos: w3.org/TR/SVG/painting.html#FillRulePropertyNo use colorReference en el atributo fillColor en Vector dibujable solo use código hexa
usar así
en lugar de esto
fuente
Si su minSdkVersion es 21, puede deshabilitar la generación de PNG agregando esta línea:
Eliminar esta línea seguirá generando los PNG.
Fuente: http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html
fuente
He podido solucionar esto haciendo lo siguiente:
De esta manera el compilador funcionará
fuente
Creo que está utilizando
android:fillColor="@color/image_button_disabled"
este código para dibujar vectores.No es compatible.
Solo reemplácelo con
android:fillColor="#c4ca5e"
fuente
Para sumar a @ mwa91 respuesta .
En caso de que necesite una temática dinámica de dibujable, pero no tiene tiempo para actualizar sus diseños e ir con la respuesta @ mwa91 y cambiar todos los atributos , siempre puede usar el valor de color hexadecimal en dibujable y luego teñir el dibujable en ImageView:
android:src="@drawable/..."
app:srcCompat="@drawable/..."
fuente