Android Studio-entrée de ressources déjà définie
après avoir compilé mon application Android en utilisant L'Android Studio (Beta), j'ai l'erreur suivante:
Error:error: Resource entry background is already defined.
resdrawable-xhdpi-v4background.9.png:0: Originally defined here.
cela s'est produit lorsque j'avais un fichier image appelé "background" dans mon dossier res.
j'ai alors fait une version 9 patch de celui-ci et l'ai collé dans le même dossier. Cela signifiait qu'il y avait 2 fichiers avec le même nom. Donc, sans surprise, j'ai eu cette erreur.
cependant j'ai supprimé toutes les instances du fichier image d'arrière-plan (y compris le correctif 9) version et image originale) dans mon fichier de code et de mise en page et j'ai toujours cette erreur.
9 réponses
on pourrait essayer de faire une des actions suivantes:
- Nettoyer et créer ou
gradle clean build assemble
- invalider et redémarrer Android Studio
1 Construire > Nettoyage De Projet
2Construire > Projet De Reconstruction De
J'utilise Android studio et je cours exactement dans le même problème et aucune des réponses que j'ai trouvées sur le web ne m'a aidé à résoudre le problème, y compris le précédent. Ainsi, en lisant tous les détails des messages d'erreur, on a trouvé ces lignes:
erreur: L'exécution a échoué pour la tâche ':app:processdebugressources'.
com.Android.IDE.commun.interne.LoggedErrorException: échec de l'exécution de la commande: C:\Users\user\AppData\Local\Android\android-studio\sdk\build-tools\android-4.4W\aapt.package exe -f --no-crunch -je C:\Users\user\AppData\Local\Android\android-studio\sdk\platforms\android-20\android.jar-M C:\Users\user\AndroidStudioProjects\DartsApp\app\build\intermediates\manifests\debug\AndroidManifest.xml-S C:\Users\user\AndroidStudioProjects\DartsApp\app\build\intermediates\res\debug -A C:\Users\user\AndroidStudioProjects\DartsApp\app\build\intermediates\assets\debug -m-J C:\Users\user\AndroidStudioProjects\DartsApp\app\build\generated\source\r\debug -F C:\Users\user\AndroidStudioProjects\DartsApp\app\build\intermediates\libs\app-debug.ap_ --debug-mode -- custom-package com.dartstransit.dartsapp -0 apk --output-text-symbols C:\Users\user\AndroidStudioProjects\DartsApp\app\build\intermediates\symbols\debug
Code D'Erreur:
1
Sortie:
res\drawable-hdpi-v4\bus_w.png:0: error: Resource entry bus_w is already defined.
res\drawable-hdpi-v4\bus_w.jpg:0: Originally defined here.
Comme vous pouvez le voir il y a deux fichiers de nom bus_w avec différentes extensions sur le même dossier. J'avais déjà supprimé les fichiers du projet et obtenez toujours l'erreur, j'ai donc décidé de vérifier chaque dossier du projet qui était de référence dans le compilateur de ligne dans le message d'erreur. Enfin constaté qu'il y avait une copie du fichier bus_w.png dans le dossier app\build\intermediates\res\debug\drawable-mdpi-v4
.
je viens de le supprimer et voilà, Problème résolu.
avez-vous essayé de renommer ce fichier en un autre nom? Il semble qu'une de vos bibliothèques ait la même ressource.
je vois que beaucoup de devs (y compris moi) ont eu des problèmes avec ic_launcher
trop. Je pense que vous voulez essayer mipmap
au lieu de drawable
. Nous aurons donc quelque chose comme ceci:
\res\mipmap-hdpi
\res\mipmap-mdpi
\res\mipmap-xhdpi
\res\mipmap-xxhdpi
Espérons que cette aide.
j'ai aussi rencontré cette erreur récemment.Voici ma solution qui fonctionne,j'espère qu'elle vous aidera.
1.ne conservez que l'image de la version 9 patch dans le dossier drawable-hdpi
2.assurez-vous que le code lié à ce problème dans le fichier xml reste le même: android:background="@drawable/msg_left"
au lieu d'utiliser le code:
android:background="@drawable/msg_left.9"
PS: mon nom d'image original est msg_left, et mon nom d'image de la version 9 patch est msg_left.9
j'ai fait le tour en déplaçant l'icône
drawable/ic_launcher
mipmap/ic_launcher
et il a bien fonctionné :)
a.png
a.bold.png
la Solution est de renommer
a.png
a_bold.png
dans notre cas, le problème a commencé à se produire (l'erreur montre 'duplicate value for resource' dans une bibliothèque) quand une autre bibliothèque a été mise à jour à sa dernière version.
Nous venons de déclasser la version de la bibliothèque qui a été mis à jour.
la vraie douleur vient du fait que nous avons beaucoup de dépendances qui peuvent être dynamiquement mises à jour quand il y a une nouvelle version disponible dans les dépôts. Donc, mon coéquipier a dû passer par tous les libs qui peuvent être dynamiquement mis à niveau et voir si il est celui qui est récemment mis à niveau, essayer de le dégrader et de vérifier si la construction va bien. Il a identifié plusieurs ont été mis à jour sur la journée précédente. Déclassement de l'un d'eux a obtenu la reconstruire.
Conclusion que nous avons faite est de ne pas utiliser la Dynamique de la gestion des versions. N'utilisez pas de versions dynamiques pour vos dépendances.
C'était l'erreur par la route:
tâche :app: generatedebugressources UP-TO-DATE AGPBI: {"type":"error","texte":"erreur: dupliquer la valeur de la ressource \u0027attr/itemBackground\u0027 avec config \u0027\u0027.","sources":[{"fichier":"/Users/unknownuser/.gradle/caches/transforme-1/fichiers-1.1/singledateandtimepicker-1.2.2.aar/86ae3786d70c769e610c8a01d58aa638/res/values/valeurs.xml","position":{"startLine":15,"startColumn":4,"startOffset":2427,"endColumn":48,"endOffset":2471}}],"original":"","tool":"AAPT"} AGPBI: {"type":"error","texte":"erreur: ressources défini précédemment ici.","sources":[{"fichier":"/Users/unknownuser/.gradle/caches/transforme-1/fichiers-1.1/singledateandtimepicker-1.2.2.aar/86ae3786d70c769e610c8a01d58aa638/res/values/valeurs.xml","position":{"startLine":15,"startColumn":4,"startOffset":2427,"endColumn":48,"endOffset":2471}}],"original":"","tool":"AAPT"}
tâche :app:mergedebugressources a échoué Erreur: java.util.simultané.Exécutionexception: com.Android.constructeur.interne.aapt.v2.Aapt2Exception: aapt2 erreur: vérifiez les journaux pour plus de détails
échec: la construction a échoué avec une exception.