Depuis la mise à jour vers ADT
14, je ne peux plus construire mon projet. C'était bien construit 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 y compris
- Redémarrage
Eclipse
. - Nettoyage du projet et reconstruction - Désactivez l'option "Projet-> Générer automatiquement", puis "Nettoyer" et "Générer" le projet, puis essayez d'exécuter. réinitialiser l'option "Construire automatiquement" sur On
- Réinstaller les
Android
outils de développement - Réinstallation d'Eclipse (mise à jour vers la dernière version 3.7.1)
- Création d'un nouveau projet importé depuis le système de fichiers
- Créé un nouveau projet à partir de subversion.
Réponses:
J'ai eu le même problème, assez bizarre car cela ne se produisait que lors de l'utilisation d'Eclipse (mais c'était OK avec Ant). Voici comment je l'ai corrigé:
Project Name
Build Path
->Configure Build Path
Dans
Java Build Path
, allez dans l'ongletOrder and Export
Décochez votre
.jar
bibliothèqueSeulement parfois: dans l'onglet Commande et exportation, je n'avais pas de bibliothèque de fichiers jar, j'ai donc décoché l'élément Bibliothèques privées Android. Maintenant, mon projet est en cours d'exécution.
la source
Android Private Libraries
élément décoché . Maintenant, mon projet est en cours d'exécution.Mon problème a été résolu après avoir nettoyé certains répertoires et fichiers restants des versions précédentes des outils. ADT Rev 14 modifie l'emplacement de stockage des fichiers binaires . J'ai supprimé l'intégralité du répertoire bin, redémarré Eclipse et nettoyé la build et forcé une reconstruction. Cela semblait faire l'affaire au départ, 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 génération et répété les étapes ci-dessus. Cela a résolu mon problème.
la source
[Résolu pour moi]
Propriétés du projet Eclipse-> Chemin de génération Java-> Commande et exportation
Décochez les bibliothèques privées Android.
la source
Rien de tout cela n'a aidé. C'était finalement un problème simple.
J'avais un projet qui utilise FacebookSDK et ViewPagerIndicator comme projets de bibliothèque. Tous ont été construits sur Android API 16 et ces deux projets ont utilisé la bibliothèque de support Android vX (X n'ayant pas 16 ans!)
J'ai ajouté un JAR externe à ces deux projets et l'ai pointé sur \ extras \ android \ v4 ... Et j'ai également supprimé le bocal v4 que j'avais dans leurs dossiers de bibliothèques.
Nettoyez tous les projets et reconstruisez.
Voilla!
L'erreur exacte que je recevais : Impossible d'exécuter dex: plusieurs fichiers dex définissent Landroid / support / v4 / view / PagerAdapter; Échec de la conversion au format Dalvik: impossible d'exécuter dex: plusieurs fichiers dex définissent Landroid / support / v4 / view / PagerAdapter;
la source
Ce problème m'arrivait, j'avais un .jar externe dans mon dossier libs 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.
la source
/libs
expérience précédente, résultant à la fois en un projet de bibliothèque et le .jar qui a été généré à partir de celui-ci. La suppression de ce pot sous/libs
résout le problème. +1la source
manifest file
été supprimé par eclipse dubin
répertoire, ajoutez-le manuellement et nettoyez à nouveau le projet.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'avais ajouté android-support-v4.jar à mon dossier libs /, et en quelque sorte eclipse a ajouté une deuxième 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 y a fait une copie.
Vous pouvez tester cela avec
la source
Pour moi, je fais juste un clic droit sur le projet -> Chemin de génération -> configurer le chemin de génération -> Bibliothèques -> supprimer la dépendance
après cela fonctionne.
la source
Cette erreur peut se produire si vous avez deux fichiers JAR qui contiennent 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é.
la source
J'obtenais cette erreur après avoir ajouté le facebooksdk.jar à un projet qui avait déjà des dépendances sur android-support-v4.jar . Étant donné que le facebooksdk.jar comprend déjà son propre android-support-v4.jar, il y avait des conflits. La suppression de l'ancien android-support-v4.jar du projet Propriétés / Chemin de génération Java / Bibliothèques a résolu le problème pour moi.
la source
Accédez à Projet / propriétés et Chemin de génération Java et décochez les bibliothèques privées Android .
Terminé
la source
J'ai supprimé les dépendances Android du chemin de génération et cela a fonctionné.
Modifier: ignorer cela. J'avais le même pot dans mon dossier de dépendances et de bibliothèques maven. J'ai supprimé celui du dossier lib.
la source
Vous avez probablement installé r14 , cette erreur peut être due à la mise à jour des outils de la plateforme, vous devez réinstaller votre sdk
la source
Pour moi, ce problème n'existe que tant qu'il y a des projets de bibliothèque Android impliqués dans mon projet. Donc, quand je supprime toutes les bibliothèques et fais ce que vous avez dit, je peux exécuter à nouveau mon application. S'il y a des bibliothèques impliquées, même l'astuce de suppression de bin fonctionne.
Je ne comprends pas pourquoi ce bogue est apparu aujourd'hui car j'utilise ADT 14 depuis plusieurs jours maintenant. Eh bien, il y avait d'autres bugs qui me rendaient heureux.
la source
La suppression du dossier bin n'était pas suffisante, j'ai également supprimé le dossier gen. Ensuite, après deux reconstructions, le message d'erreur dex a disparu.
la source
Sélectionnez le projet dans l' Explorateur de projets , cliquez avec le bouton droit et sélectionnez Propriétés -> Chemin de génération Java -> Source -> Cochez la case Autoriser les dossiers de sortie pour les dossiers source
la source
J'étais essentiellement confronté au même problème. J'ai supprimé le dossier BIN, puis supprimé les fichiers jar inutilisés pour la commande et l'importation d'Eclipse. Ça a marché après ça
la source
Je suis en retard à cette fête, mais j'ajoute ma propre expérience pour que je puisse la retrouver plus tard :)
J'ai rencontré ce problème après la mise à niveau des compléments Android SDK et Eclipse. Aucune mise à niveau reste impunie!
Le problème pour moi était lié aux projets de bibliothèque, mon application fait référence à la fois aux projets Java standard et aux projets de bibliothèque Android. J'ai remarqué que les paramètres Java Build Path incluaient les dossiers de bibliothèque Android projets src et res dans la liste Source (les votes positifs pour tous ceux qui mentionnent que bin dans la source est un problème, src et res était également un problème.)
La solution était donc:
C'était en voie de reconstituer tout cela des autres solutions! Phew!
la source
Je suis tombé sur cela lorsque je suis passé de adt 14 à 15 et pour le faire fonctionner, j'ai fini par supprimer le dossier .eclipse (avec mes paramètres) et réinstaller l'adt 15.
la source
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 mes projets vers le BIN / CLASSES et je suis opérationnel.
Edit 1 Puis a échoué lors de la deuxième exécution ... doh
Edit 2 Donc fermé Eclipse a déplacé les fichiers vers leur emplacement d'origine et tout fonctionne ... euh quoi? Je ne prétends pas savoir pourquoi cela a fonctionné. Mettra à jour en cas de changement.
Edit 3 J'ai noté de mes sauvegardes qu'il y avait en effet des fichiers en double dans le répertoire BIN et BIN / CLASSES.
La réponse est donc: ne pas avoir de fichiers aux deux endroits. Du moins pour moi, c'est ce qui a fonctionné.
la source
Modifiez votre fichier eclipse.ini et définissez le paramètre de mémoire maximale sur
Redémarrez ensuite votre ordinateur.
Ça a marché pour moi.
la source
trouvé une solution je crois ??
Où il est dit: "Lcom / coremedia / iso / AbstractBoxParser $ 1" qui se trouve être l'emplacement de la bibliothèque que j'ai importée à l'origine du problème. J'ai recherché com.codemedia.iso.AbstractBoxParser $ 1.class et .AbstractBoxParser.class .... a pris ce pot, l'a déballé, a supprimé ces deux fichiers, puis 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)
la source
J'avais deux versions différentes des fichiers .jar de Cordova dans mon dossier libs, j'ai supprimé celui que je n'utilisais même pas et cela a fonctionné tout de suite. Bizarre parce que je ne l'avais pas remarqué avant et ça a fonctionné avant et puis soudainement arrêté de travailler ...
la source
La mise à jour ADT R14 modifie l'emplacement des classes 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.
la source
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 / workspace / .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à. Créez simplement un nouveau projet à partir de ressources existantes et les choses devraient être de la sauce.
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;
la source
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). J'ai dû supprimer toutes les autorisations et activités du fichier AndroidManifest.xml pour tous les projets de bibliothèque pour supprimer l'erreur afin que Manifest.java ne soit pas créé plusieurs fois. J'espère que cela peut aider quelqu'un.
la source
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é.
la source
J'ai converti un projet non-bibliothèque en projet de bibliothèque, mais il y avait un fichier jar précédemment construit dans le dossier libs. La suppression de ce fichier jar a provoqué la disparition de cette erreur.
la source
J'étais confronté au même problème, puis j'ai vu en poussant mon application des fichiers jar qui ont été chargés deux fois, d'où plusieurs erreurs dex. Allez simplement dans les propriétés de votre projet -> Java Build Path et essayez de décocher le pot qui est chargé deux fois.
la source
[Résolu pour moi]
en supprimant la bibliothèque en double "fichier JAR" puis supprimez le fichier BuildConfig.java, le projet Clean et son travail.
la source