web-dev-qa-db-fra.com

Android Studio - Entrée de ressource déjà définie

Après avoir compilé mon application Android à l'aide d'Android Studio (Beta), le message d'erreur suivant s'affiche:

Error:error: Resource entry background is already defined.
res\drawable-xhdpi-v4\background.9.png:0: Originally defined here.

Cela s’est produit lorsque j’avais un fichier image appelé "background" dans mon dossier res. 

J'ai ensuite fait une version 9 de ce patch et je l'ai collé dans le même dossier. Cela signifiait qu'il y avait 2 fichiers portant le même nom. Alors sans surprise, j'ai eu cette erreur. 

Cependant, j’ai maintenant supprimé toutes les occurrences du fichier d’image d’arrière-plan (y compris la version 9 du correctif et l’image originale) dans mon fichier de code et de mise en page et j’ai toujours cette erreur. 

22
Yahya Uddin

Vous pouvez essayer l'une des opérations suivantes:

  • Nettoyer et construire ou gradle clean build assemble
  • Invalider et redémarrer Android Studio
60
deubaka

1 Build> Clean Project  
2 Construire> Projet de reconstruction

17
Enaoi

J'utilise Android studio et je rencontre exactement le même problème. Aucune des réponses trouvées sur le Web ne m'a aidé à résoudre le problème, y compris le précédent. Donc, en lisant tous les détails des messages d'erreur et trouvé ces lignes:

Erreur: L'exécution a échoué pour la tâche ': app: processDebugResources'.

com.Android.ide.common.internal.LoggedErrorException: Echec de l'exécution de la commande: C:\Utilisateurs\utilisateur\AppData\Local\Android\package\sdk\build-tools\Android-4.4W\aapt.exe -f --no-crunch -IC:\Users\user\AppData\Local\Android\android-studio\sdk\plates-formes\Android-20\Android.jar -MC:\Utilisateurs\utilisateur\AndroidStudioProjects\DartsApp\app\construction\intermédiaires\manifestes\debug\AndroidManifest.xml -SC:\Utilisateurs\utilisateur\AndroidStudioProjects\DartsApp\app\build\intermédiaires\res\debug -AC:\Utilisateurs\utilisateur\AndroidStudioProjects\DartsApp\app\build\intermédiaires\assets\debug -m -JC:\Utilisateurs\utilisateur\AndroidStudioProjects\DartsApp\app\build\généré\source\r\debug -FC:\Utilisateurs\utilisateur\AndroidStudioProjects\DartsApp\app\build\intermediates\libs\app-debug.ap_ --debug-mode --custom-package com.dartstransit.dartsapp -0 apk --output-text-symboles C:\Utilisateurs\utilisateur\AndroidStudioProjects\DartsApp\app\construction\intermédiaires\symboles\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 existe deux fichiers de nom bus_w avec des extensions différentes dans le même dossier. J'avais déjà supprimé ces fichiers du projet et j'entendais toujours l'erreur. J'ai donc décidé de vérifier chaque dossier du projet référencé dans la ligne de compilation dans le message d'erreur. Nous avons enfin trouvé 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 le tour est joué, le problème est résolu.

9
zaidorx

Un simple Build > projet de reconstruction m'a aidé

3
penduDev

Avez-vous essayé de renommer ce fichier en un autre nom? Il semble que l'une de vos bibliothèques ait la même ressource.

Je vois que beaucoup de développeurs (dont moi-même) avaient aussi un problème avec ic_launcher. Je pense que vous voulez essayer mipmap à la place drawable. Nous aurons donc quelque chose comme ça:

\res\mipmap-hdpi
\res\mipmap-mdpi
\res\mipmap-xhdpi
\res\mipmap-xxhdpi

J'espère que cette aide.

1
khaintt

J'ai également rencontré cette erreur récemment. Voici ma solution qui fonctionne, espérons qu'elle vous aidera.

1. ne conservez que 9 images de version de correctif 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 version de 9 correctifs est msg_left.9

0
Jeffin Bao

Dans notre cas, un problème a commencé à se produire (l'erreur indique "valeur en double pour la ressource" dans une bibliothèque) lorsqu'une autre bibliothèque a été mise à niveau vers sa dernière version.
Nous venons de déclasser la version de la bibliothèque mise à jour.

La vraie douleur était parce que nous avons beaucoup de dépendances qui peuvent être mises à jour de manière dynamique quand une nouvelle version est disponible dans les référentiels. Mon coéquipier a donc dû passer en revue toutes les bibliothèques pouvant être mises à niveau de manière dynamique et voir s'il y en a une récemment mise à niveau, essayez de la rétrograder et de vérifier si la construction se passe bien. Il a identifié beaucoup ont été améliorés la veille. Le déclassement de l'un d'entre eux a récupéré la construction.

La conclusion que nous avons faite est de ne pas utiliser le contrôle de version dynamique. N'utilisez pas de versions dynamiques pour vos dépendances

Ce fut l'erreur au passage: 

Task: app: generateDebugResources UP-TO-DATE AGPBI: {"kind": "erreur", "texte": "erreur: valeur en double pour la ressource\u0027attr/itemBackground\u0027 avec config\u0027\u0027.", "Sources": [{"fichier": "/ Utilisateurs /unknownuser/.gradle/caches/transforms-1/files-1.1/singledateandtimepicker-1.2.2. 4, "startOffset": 2427, "endColumn": 48, "endOffset": 2471}}], "original": "", "outil": "AAPT"} AGPBI: {"kind": "error", "text": "error: ressource définie précédemment ici.", "Sources": [{"file": "/ Users/unknownuser/.gradle/caches/transforms-1/files-1.1/singledateandtimepicker-1.2.2.aar/86ae3786d70c769e610c8a01d58aa638/res/values ​​/ values.xml "," position ": {" startLine ": 15," startColumn ": 4," startOffset ": 24," endColumn " 48, "endOffset": 2471}}], "original": "", "outil": "AAPT"}

Tâche: app: mergeDebugResources FAILED Erreur: Java.util.concurrent.ExecutionException: com.Android.builder.internal.aapt.v2.Aapt2Exception: erreur AAPT2: consultez les journaux pour plus de détails.

ECHEC: La construction a échoué avec une exception.

0
cgr

J'ai fait le tour en déplaçant l'icône

drawable/ic_launcher

à 

mipmap/ic_launcher

et cela a bien fonctionné :)

0
Miao1007

Dans mon cas, le problème était que j'en avais plus d'un. dans le nom du fichier. comme:

a.png
a.bold.png

La solution était de renommer

a.png
a_bold.png
0
MrSmith42