Android Studio – exception mergeDebugResources

J’ai récemment mis à jour Android Studio vers sa dernière version, et je suis confronté à un casse-tête avec une exception dans la version Gradle.

Chaque fois que je lance le projet, deux ou trois fois avant de réussir, j’obtiens l’erreur suivante:

Gradle: Execution failed for task ': ProjectName: mergeDebugResources'. Java.lang.NullPointerException (no error message) 

Après avoir essayé plusieurs fois, l’erreur ne se reproduira plus avant la prochaine exécution.

Est-ce que quelqu’un a une idée de ce qui se passe? Le projet a bien fonctionné jusqu’à la mise à jour, sans aucune erreur avant …

Merci!

J’ai trouvé une solution au problème.

Il y a un problème signalé à propos des problèmes de construction graduelle, ce n’est pas la même chose, mais la solution semble résoudre également les problèmes de mergeResourceDebug. (problème ici https://code.google.com/p/android/issues/detail?id=56158 ). Dans les commentaires, il est indiqué que la solution est résolue dans Gradle 0.4.3.

Pour utiliser Gradle 0.4.3, le fichier build.gradle doit être mis à jour manuellement. (La mise à jour d’Android Studio ne modifie pas le fichier de génération)

Voici ce que j’ai changé dans build.gradle:

 dependencies { classpath 'com.android.tools.build:gradle:0.4.3' } 

Depuis que j’ai changé cela, je n’ai plus vu de problèmes liés à mergeDebugResource lors de l’exécution de mon projet. J’espère que cela t’aides!

Edit: pour restr à jour avec Gradle, vous pouvez changer le numéro de version à 0.4.

Cela m’arrive seulement lors de la modification des fichiers XML sur le projet. Si vous reconstruisez tout le projet avant de l’exécuter (Build> Rebuild Project), il ne s’affiche plus.

dans votre répertoire de projet, lancez:

 ./gradlew clean build 

ou depuis Android Studio sélectionnez:

 Build > Clean Project 

Mis à jour: Comme @VinceFior l’a souligné dans un commentaire ci-dessous

Vous pouvez avoir un fichier .9.png corrompu dans votre répertoire drawables

Cette erreur peut également se produire si le chemin du fichier de génération généré dépasse la longueur du chemin d’access Windows max de 255 caractères. Assurez-vous que votre chemin de projet n’est pas trop long, utilisez également des noms abrégés.

Cela se produirait également s’il y a / sont des dossiers / fichiers supplémentaires dans le dossier de ressources qui ne sont pas pris en charge par Android.

Drawables dans le dossier src / main / res / drawables doit également être dans le dossier src / main.

Cela fonctionne pour moi ..

Dans mon cas, rien de tout cela ne fonctionne, je viens de renommer le nom du projet, tout fonctionne bien.

Exemple:

Mon nom de projet Avantsticky-headers-recyclerview-master

Mon nom de projet AprèsSHRV

J’espère que ceci vous aidera.

Mon problème résout celui-ci

 comstack fileTree(dir: 'libs', include: ['*.jar']) 

à

 provided fileTree(dir: 'libs', include: ['*.jar']) 

Dans mon cas, lorsque j’ai changé le nom du paquet, ce problème est apparu, j’ai juste suivi les étapes ci-dessous pour résoudre mon problème:

  1. Supprimé apk précédemment installé (désinstallation)

  2. Projet appliqué propre

  3. Lancer l’application

Doit changer la version des outils de construction depuis un ancien dans build.gradle pour le module de projet:

 android { ... buildToolsVersion "24.0.2" ... } 

Il y a une nouvelle tâche Gradle appelée “cleanBuildCache”, il suffit de lancer cette tâche pour nettoyer le cache puis reconstruire le projet.

Dans mon cas, je viens de supprimer l’espace du nom du dossier du projet De: MyApp dernière

À: MyApp_latest

et ça a fonctionné.

J’ai eu le même problème et j’ai réussi à résoudre, il suffit simplement de déclasser votre version comme ceci:

 dependencies { classpath 'com.android.tools.build:gradle:YOUR_GRADLE_VERSION' } 

à

 dependencies { classpath 'com.android.tools.build:gradle:OLDER_GRADLE_VERSION_THAT_YOUR' } 

par exemple:

YOUR_GRADLE_VERSION = 3.0.0

OLDER_GRADLE_VERSION_THAT_YOUR = 2.3.2

Je viens de mettre à niveau vers la dernière version de l’outil de compilation et cela fonctionne.

  classpath 'com.android.tools.build:gradle:3.0.1