43 votes

Mise à jour d'Android Studio vers 3.0 et obtention de ce problème

Error:Execution failed for task ':App:mergeDebugResources'.
    > There were multiple failures while executing work items
       > A failure occurred while executing com.android.build.gradle.tasks.MergeResources$FileGenerationWorkAction
          > Error while processing /media/nikhilesh/App/src/main/res/drawable/ic_add_black_24dp.xml : Can't process attribute android:fillColor="@color/green": references to other resources are not supported by build-time PNG generation. See http://developer.android.com/tools/help/vector-asset-studio.html for details.

Comment pouvons-nous résoudre ce problème ?

104voto

rotemitz Points 1033

Vous pouvez ajouter la ligne suivante dans la configuration par défaut de votre application build.gradle :

defaultConfig{
   vectorDrawables.useSupportLibrary = true
}

Edit : vous devez également ajouter cette dépendance si vous ne l'avez pas déjà fait

dependencies {
    compile 'com.android.support:appcompat-v7:27.1.1'
}

Mise à jour :

Depuis Gradle 3.4, l'option compile La configuration est déprécié et devrait être remplacé par implementation :

dependencies {
    implementation 'com.android.support:appcompat-v7:27.1.1'
}

12voto

Andrew Points 113

Le problème est que le nouveau gradle ne peut pas faire référence à la bibliothèque de couleurs, que vous utilisez pour obtenir la valeur @color/green.

La solution est la même que rotemitz dit Il suffit d'ajouter cette ligne à votre defaultConfig de build.gradle (Module : app)

vectorDrawables.useSupportLibrary = true

ET aux dépendances du même build.gradle

compile 'com.android.support:appcompat-v7:23.1.0'

Note : Vous pouvez changer la version d'appcompat, référez-vous à la version de votre SDK de compilation.

7voto

Android Geek Points 4110

Il vous suffit d'ajouter la ligne suivante dans la configuration par défaut de votre application build.gradle :

defaultConfig{
       vectorDrawables.useSupportLibrary = true
    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X