Depuis la mise à jour vers ADT
14, je ne peux plus construire mon projet. Il construisait bien avant la mise à jour.
L'erreur:
[2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
[2011-10-23 16:23:29 - myProj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
Des problèmes similaires ont été signalés et j’ai essayé les suggestions proposées, notamment
Eclipse
.Android
Outils de développementMon problème a été résolu après le nettoyage de certains répertoires et fichiers laissés par les versions précédentes des outils. ADT Rev 14 change où les fichiers binaires sont stockés . J'ai supprimé l'intégralité du répertoire bin, redémarré Eclipse, nettoyé la construction et forcé une reconstruction. Cela a semblé faire l'affaire initialement mais le problème est revenu après la prochaine manche.
J'ai finalement découvert que mon répertoire bin était inclus dans le chemin de génération du projet. J'ai exclu bin du chemin de construction et répété les étapes ci-dessus. Cela a résolu mon problème.
J'ai eu le même problème, assez bizarre parce que cela ne se produisait qu'avec Eclipse (mais c'était correct avec Ant). Voici comment je l'ai corrigé:
Project Name
Build Path
-> Configure Build Path
Dans Java Build Path
, accédez à l'onglet Order and Export
Décochez votre bibliothèque .jar
Seulement parfois: Dans l'onglet Ordre et exportation, je n'avais pas de bibliothèque de fichiers jar, donc j'ai décoché l'article Android Bibliothèques privées. Maintenant, mon projet est en cours d'exécution.
[Résolu pour moi]
Propriétés du projet Eclipse-> Chemin de construction Java-> Commande et exportation
Décochez Android bibliothèques privées.
Aucune de ce qui précède n'a aidé. C'était un problème simple à la fin.
J'ai eu un projet qui utilise FacebookSDK et ViewPagerIndicator en tant que projets de bibliothèque. Tous ont été construits sur Android API 16 et ces deux projets utilisaient la bibliothèque de support Android vX (X n'étant pas 16!)
J'ai ajouté un fichier JAR externe à ces deux projets et l'ai orienté vers\extras\Android\v4 ... et j'ai également supprimé le fichier v4 que j'avais dans leurs dossiers libs.
Nettoyer tous les projets et reconstruire.
Voilla!
L'erreur exacte que je recevais: Impossible d'exécuter dex: plusieurs fichiers dex définissent Landroid/support/v4/view/PagerAdapter; La conversion au format Dalvik a échoué: impossible d'exécuter dex: plusieurs fichiers dex définissent Landroid/support/v4/view/PagerAdapter;
Ce problème m'arrivait, j'avais dans mon dossier libs un fichier .jar externe appelé gson-2.2.2.jar mais, pour une raison quelconque, il y en avait deux, gson-2.2.2.jar et gson-2.2.2.jar ( 1), j’ai simplement supprimé ce dernier et mon projet s’est à nouveau bien construit.
Comme d'autres l'ont mentionné, cela se produit lorsque vous avez plusieurs copies de la même classe dans votre chemin de génération - y compris bin/dans votre chemin de classe est un moyen de garantir ce problème.
Pour moi, cela s'est produit lorsque j'ai ajouté Android-support-v4.jar à mon dossier libs /, et qu'Eclipse a ajouté une seconde copie à bin/classes/Android-support-v4.jar.
La suppression de la copie supplémentaire dans bin/classes a résolu le problème - vous ne savez pas pourquoi Eclipse en a fait une copie.
Vous pouvez tester cela avec
grep -r YourOffendingClassName YourApp | pot de grep
Pour moi, je viens de faire un clic droit sur projet -> chemin de construction -> configurer le chemin de construction -> bibliothèques -> supprimer la dépendance
après cela fonctionne.
Cette erreur peut survenir si vous avez deux fichiers JAR contenant les mêmes noms de classe, par exemple. J'avais deux bibliothèques: jsr311-api-1.1.1.jar et jersey-core-1.17.1.jar, toutes deux contenant la classe javax.ws.rs.ApplicationPath. J'ai supprimé jsr311-api-1.1.1.jar et cela a bien fonctionné.
J'obtenais cette erreur après avoir ajouté le facebooksdk.jar à un projet qui avait déjà des dépendances sur le Android-support-v4.jar. Depuis le facebooksdk.jar inclut déjà son propre Android-support-v4.jar il y a eu des conflits. Suppression de l'ancien Android-support-v4.jar des projets Propriétés/Java Chemin de construction/Bibliothèques a résolu le problème pour moi.
Allez à Projet/propriétés et Java chemin de construction et décoché à bibliothèques privées Android.
Fait
J'ai supprimé les dépendances Android du chemin de génération et cela a fonctionné.
Edit: ignorez cela. J'ai eu même jar dans mes dépendances maven et le dossier libs. J'ai enlevé celui du dossier lib.
Vous avez probablement installé r14 , cette erreur peut avoir été causée par la mise à jour des outils de la plate-forme, vous devez réinstaller votre sdk
Pour moi, ce problème n'existe que tant qu'il y a Android projets de bibliothèque impliqués dans mon projet. Ainsi, lorsque je supprime toutes les bibliothèques et que je fais ce que vous avez dit, je peux réexécuter mon application. S'il y a des bibliothèques impliquées, même l'astuce de bin-removal-astuce gagnera.
Je ne comprends pas pourquoi ce bogue est apparu pour la première fois aujourd'hui, car j'utilise ADT 14 depuis plusieurs jours maintenant. Eh bien, il y avait d'autres insectes qui m'ont gardé heureux cependant.
Sélectionnez le projet dans Explorateur de projets, cliquez avec le bouton droit de la souris et sélectionnez Propriétés -> chemin de construction Java -> Source - > Cochez la case Autoriser les dossiers de sortie pour les dossiers sources
Supprimer le dossier bin n'était pas suffisant, j'ai également supprimé le dossier gen. Puis, après deux reconstructions, le message d'erreur dex était parti.
Je faisais essentiellement face au même problème. J'ai supprimé le dossier BIN, puis supprimé les fichiers jar inutilisés pour Order et Import from Eclipse. Il a travaillé après cela
Je suis en retard pour cette soirée, mais j'ajoute ma propre expérience pour pouvoir la retrouver plus tard :)
J'ai rencontré ce problème après la mise à niveau des additifs Android sdk et Eclipse. Aucune mise à niveau ne reste impunie!
Le problème pour moi était lié aux projets de bibliothèque, mon application faisant référence à la fois aux projets Java standard et aux projets de bibliothèque Android. J'ai remarqué que les paramètres du chemin de construction Java incluaient les dossiers src et res de la bibliothèque Android dans la liste Source (tous les utilisateurs qui mentionnent bin dans source, src et res étaient également un problème.)
La solution était donc:
C'était un bon moyen de rassembler tout cela à partir des autres solutions! Phew!
J'avais deux versions différentes de fichiers .jar de Cordova dans mon dossier libs, j'ai supprimé celle que je n'utilisais même pas et cela a fonctionné immédiatement. Bizarre parce que je n'avais pas remarqué ça avant et que ça marchait avant et que ça a soudainement cessé de fonctionner ...
trouvé une solution je crois ??
[2013-04-28 23:56:09 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/coremedia/iso/AbstractBoxParser$1;
Où il est indiqué: "Lcom/coremedia/iso/AbstractBoxParser $ 1" qui se trouve être l'emplacement de la bibliothèque que j'ai importée et qui était à l'origine du problème. Regardé com.codemedia.iso.AbstractBoxParser $ 1.class et .AbstractBoxParser.class .... a pris ce fichier, l'a décompressé, a supprimé ces deux fichiers, puis a été reconditionné en tant que .Zip, ajouté à la bibliothèque, nettoyé et travaillé! plus de conflit pour moi! (également pas de mises à jour ou de téléchargements supplémentaires)
Je me suis heurté à cela lors de la mise à niveau de l'adt 14 à 15 et, pour le faire fonctionner, j'ai simplement supprimé le dossier .Eclipse (ainsi que mes paramètres) et réinstallé l'adt 15.
Après avoir lu la réponse de Terrys sur la suppression du répertoire bin et Larrys sur l'emplacement du répertoire ANT:
J'ai déplacé les fichiers situés dans le répertoire BIN de mon projet vers le fichier BIN/CLASSES et je suis opérationnel.
Edit 1 Puis échoué à la deuxième manche ... doh
Edit 2 Donc fermé Eclipse a ramené les fichiers à leur emplacement d'origine et tout fonctionne ... euh quoi? Je ne prétends pas savoir pourquoi cela a fonctionné. Mettra à jour si des changements.
Edit 3 J'ai noté dans mes sauvegardes qu'il y avait effectivement des fichiers en double dans le répertoire BIN et BIN/CLASSES.
Donc la réponse est: ne pas avoir de fichiers dans les deux emplacements. Au moins pour moi, c'est ce qui a fonctionné.
Modifiez votre fichier Eclipse.ini et définissez le paramètre de mémoire maximale sur
-Xmx1024m
Puis redémarrez votre ordinateur.
Cela a fonctionné pour moi.
La mise à jour ADT R14 change lorsque les classes vont dans le répertoire bin/classes (voir http://tools.Android.com/recent/buildchangesinrevision14 ). Si vous utilisez ANT, vous devez modifier le chemin d'accès de vos classes de bin à bin/classes. Cela a fonctionné pour moi.
Solution pour moi:
Accédez à votre espace de travail de projet (pas votre projet) et exécutez les commandes suivantes:
dev1: espace de travail $ cd ~/Documents/espace de travail/.metadata/.plugins/dev1: espace de travail $ rm -rf org.Eclipse.core.resources
Accédez à votre répertoire Eclipse et tapez cette commande:
dev1: Eclipse $ ./Eclipse clear
Eclipse commencera avec un espace de travail vide - ne vous inquiétez pas, vos projets sont toujours là. Il suffit de créer un nouveau projet à partir d'une ressource existante et tout devrait être beau.
L'erreur exacte que je recevais: [2012-02-07 14:15:53 - Dex Loader] Impossible d'exécuter dex: plusieurs fichiers dex définissent Landroid/support/v4/view/PagerAdapter; [2012-02-07 14:15:53 - ProjectCloud] La conversion au format Dalvik a échoué: impossible d'exécuter dex: plusieurs fichiers dex définissent Landroid/support/v4/view/PagerAdapter;
J'ai plusieurs projets de bibliothèque avec le même nom de package spécifié dans le AndroidManifest (donc aucun nom de champ en double n'est généré par R.Java). Je devais supprimer toutes les autorisations et activités du fichier AndroidManifest.xml pour tous les projets de bibliothèque afin de supprimer l'erreur. Par conséquent, Manifest.Java n'a pas été créé plusieurs fois. J'espère que cela peut aider quelqu'un.
Je faisais face au même problème, puis j’ai vu, en poussant mon application, des fichiers jar chargés deux fois, d'où plusieurs erreurs dex. Il suffit d'aller dans les propriétés de votre projet -> Java Chemin de construction et d'essayer de décocher jar qui est en cours de chargement deux fois.
[Résolu pour moi]
en supprimant la bibliothèque en double "fichier JAR", puis supprimez le fichier BuildConfig.Java, Nettoyer le projet et son travail.
Après avoir essayé toutes les autres suggestions sans succès, j'ai supprimé tout le contenu du répertoire "bin" de mes projets, puis j'ai à nouveau exécuté Eclipse et cela a fonctionné.
J'ai converti un projet non-bibliothèque en projet de bibliothèque, mais il contenait un fichier jar précédemment créé dans le dossier libs. La suppression de ce fichier JAR a provoqué la disparition de cette erreur.
J'avais essayé la plupart des solutions ci-dessus et certaines d'entre elles avaient déjà fonctionné.
Mais cette fois, aucun d'entre eux n'a fonctionné, alors j'avais supprimé le fichier .jar de mon projet de bibliothèque. et reconstruisez le projet de bibliothèque et d'application.
Et cette fois ça a marché!
Essayez de supprimer R.Java et de laisser Eclipse le régénérer.
J'ai eu un problème similaire lorsque j'ai ajouté ActionBarSherlock en tant que bibliothèque dans mon projet. Eclipse ADT v21.0 a pré-créé des fichiers dex supposés accélérer la construction du projet. Ces fichiers dex étaient les mêmes que certains des fichiers jar de mon dossier lib. Alors gardez-en un et supprimez l’autre. J'ai supprimé ceux du dossier lib car les fichiers dexed étaient générés automatiquement.
Je suis confronté au même problème. Le problème que j'ai trouvé que j'ai un projet de bibliothèque, dans le fichier manifeste de ce projet, il n'y a pas de propriété targetSdkVersion. J'ai ajouté cette propriété sous la balise (uses-sdk). Puis nettoyez mon projet. Maintenant, mon application fonctionne normalement.
Assurez-vous que "Android-support-v4.jar" est décoché dans Ordre et exportation onglet sous Chemin de construction Java
Suis les étapes:
C’était le meilleur résultat lorsque j’ai cherché cette erreur dans Google.
Bien que la question ne demande pas comment résoudre ce problème en ce qui concerne React Native , je pensais partager de toute façon pour toute personne qui finit ici et utilise React Native .
À partir de la racine du projet, exécutez:
cd Android && ./gradlew clean
[Mac - Terminal Bash]cd Android & gradlew clean
[Windows - Invite de commandes]Ensuite, react-native run-Android
pour générer et exécuter à nouveau.
NON DE LA MÉTHODE CI-DESSUS TRAVAILLE POUR MOI MAIS MATIÈRE IS TRAVAILLE COMME UN CHARME!
Le problème se produit lorsque l'utilisateur construit la bibliothèque dépendante avec Eclipse. Donc, pour obtenir la solution
Étape 1: Supprimez la bibliothèque (comme le projet de bibliothèque de support v4 ou v13) d’Eclipse avec la suppression définitive de la source d’espace de travail.
Étape 2: Réimportez la bibliothèque et incluez-la dans votre projet
Étape 3: Nettoyer et reconstruire
FAIT!
Cela se produit lorsque dans notre application, nous avons le dossier libs avec gson jar
(par exemple: gson-2.2.4.jar). Au même moment, notre bibliothèque de services Google Play avait déjà Gson
.
je l'ai retiré de mon application et its work fine now
.
Problème rencontré: le dossier libs a été utilisé comme source dans les préférences du projet. Il a donc été exporté deux fois. Résolu en faisant un clic droit sur le dossier libs -> Chemin de construction -> Supprimer du chemin de construction
J'ai résolu ce problème dans mon projet en supprimant une bibliothèque:
Reason: J'ai inclus un projet de bibliothèque dans mon projet et, par erreur, je n'ai pas supprimé la bibliothèque précédente de mon projet. Ainsi, lorsque j'exécutais le projet, les mêmes fichiers dex de bibliothèque étaient générés à deux reprises. la même bibliothèque du dossier lib de mon projet, l’erreur ayant disparu et la compilation ayant été créée avec succès, j’espère que d’autres pourront faire face au même problème.
Le problème est que "Dépendances Android" conserve la référence à l'ancien SDK AdMob même après:
La solution consiste à supprimer le fichier JAR AdMob SDK de votre ordinateur, pas seulement du projet.
La division du service Google Play peut vous aider: https://developers.google.com/Android/guides/setup#split
donc au lieu d’ajouter simplement des services de jeu:
compile 'com.google.Android.gms:play-services:7.5.0'
vous ajoutez uniquement ce dont vous avez besoin:
// Google Maps only
compile 'com.google.Android.gms:play-services-maps:7.5.0'
allez à \bin\dexedLibs
et supprimez tous les jars des bibliothèques déjà supprimées, puis propre
La conversion au format Dalvik a échoué: Impossible d'exécuter dex: plusieurs fichiers dex définissent Lcom/google/zxing/BarcodeFormat;
Publier cette réponse pour ceux qui reçoivent cette erreur en ce qui concerne le plugin scanner de codes à barres de zxing.
Supprimez simplement le fichier jar dans le dossier libs. Devrait être project/libs/com.google.zxing.client.Android.captureactivity.jar
j'ai eu le même problème incapable d'exécuter des fichiers multipledex dans Android --lorg\xhtml\CSS
j'ai supprimé 2 fichiers JAR externes dans le dossier lib - core-renderer-3043e0f89ffb2.jar
core-renderer-minimal-e70d6a.jar et mon projet construit à nouveau bien ...
J'ai eu ce problème et résolu en changeant le chemin de la. JAR pour le répertoire de changement, mais le. jar tiré de l'autre côté, change le chemin et je suis entré sans problème
J'avais deux bibliothèques de goyaves liées mais non identiques dans le répertoire/libs. Après en avoir supprimé une, le problème a disparu.
Pour moi, j'avais indiqué un fichier jar dans BuiltPath qui n'était plus réellement dans ce chemin!
J'ai reçu le même message d'erreur avec le projet de bibliothèque GooglePlayService google-play-services.jar.
Nous utilisons maven, pour cette raison je dois ajouter la bibliothèque dans mon référentiel maven local. (Mvn install: install-file -Dfile = xxx)
La bibliothèque se trouve maintenant deux fois dans le "chemin de construction Java" -> Bibliothèques.
Pour résoudre le problème, je dois supprimer la bibliothèque du répertoire google-play-services_lib/libs (le fichier jar, il est utilisé automatiquement)
Si vous utilisez 'com.google.Android.gms: play-services', vous pouvez ajouter ce dont vous avez réellement besoin pour consulter la liste suivante:
Google+ com.google.Android.gms:play-services-plus:10.0.1
Connexion au compte Google com.google.Android.gms:play-services-auth:10.0.1
Actions Google, bibliothèque client de base com.google.Android.gms:play-services-base:10.0.1
API Google Address com.google.Android.gms:play-services-identity:10.0.1
Indexation des applications Firebase com.google.firebase:firebase-appindexing:10.0.1
Google Analytics com.google.Android.gms:play-services-analytics:10.0.1
Sensibilisation Google com.google.Android.gms:play-services-awareness:10.0.1
Google Cast com.google.Android.gms:play-services-cast:10.0.1
Google Cloud Messaging com.google.Android.gms:play-services-gcm:10.0.1
Google Drive com.google.Android.gms:play-services-drive:10.0.1
Google Fit com.google.Android.gms:play-services-fitness:10.0.1
Reconnaissance de la position et de l'activité de Google com.google.Android.gms:play-services-location:10.0.1
Google Maps com.google.Android.gms:play-services-maps:10.0.1
Annonces Google Mobile com.google.Android.gms:play-services-ads:10.0.1
Google Places com.google.Android.gms:play-services-places:10.0.1
Mobile Vision com.google.Android.gms:play-services-vision:10.0.1
Google à proximité com.google.Android.gms:play-services-nearby:10.0.1
Visionneuse Google Panorama com.google.Android.gms:play-services-panorama:10.0.1
Services Google Play Game com.google.Android.gms:play-services-games:10.0.1
SafetyNet com.google.Android.gms:play-services-safetynet:10.0.1
Android Pay com.google.Android.gms:play-services-wallet:10.0.1
Android Wear com.google.Android.gms:play-services-wearable:10.0.1
Dans mon cas, je supprime le fichier ".apk" dans le répertoire "src/com/...", nettoie le projet et le lance.
J'avais essayé toutes les suggestions précédentes et ne fonctionnais pas pour moi!
Supprimez le package R généré de votre bibliothèque référencée. Parfois, nettoyer et reconstruire ne supprime pas les anciens fichiers générés par R.
Vérifiez que votre dossier bin n'est pas dans le chemin de génération.
Cette erreur m'est survenue lorsque j'ai importé un fichier .jar (en fait, il s'agissait de httpmime-4.3.jar) et que je tentais de l'utiliser. Pour moi, la solution était simple: j'ai supprimé le fichier .jar du dossier libs, puis supprimé de Order and Export. A couru le projet à nouveau, cela a fonctionné, alors j'ai ajouté le fichier .jar à nouveau et tout s'est finalement bien passé.