Ich weiß, dass diese Frage hier schon einige Male gestellt wurde. Aber ich habe noch keine mögliche Lösung gesehen. Bevor ich das Projekt 'Als Android-Anwendung ausführen' mache, erhalte ich die folgende Fehlermeldung, wenn ich es nicht bereinige, und muss Eclipse neu starten ... und erneut bereinigen.
Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define
Lcom/jstun/core/attribute/MessageAttributeInterface;
com.jstun.core ... ist ein Teil meines src-Ordners, natürlich kann ich ihn nicht entfernen. Und selbst wenn ich dieses Paket entferne, wird ein anderes Paket als Fehler angezeigt wie:
Unable to execute dex: Multiple dex files define
Landroid/support/v4/app/ActivityCompatHoneycomb;
Ich habe diesen Fehler seit dem Update auf ADT 15 gesehen. Ich verwende Eclipse Galileo unter Ubuntu. Haben Sie eine Idee? Vielen Dank für jede Antwort!
Antworten:
Dies ist ein Problem mit dem Erstellungspfad.
Stellen Sie sicher, dass Ihr bin-Ordner nicht in Ihrem Erstellungspfad enthalten ist.
Klicken Sie mit der rechten Maustaste auf Ihr Projekt -> gehen Sie zu Eigenschaften -> Pfad erstellen.
Stellen Sie sicher, dass sich die Honeycomb-Bibliothek in Ihrem
libs/
Ordner und nicht in Ihrem Quellordner befindet.Fügen Sie die Bibliotheken
libs/
einzeln in den Erstellungspfad ein.Übrigens möchten Sie vielleicht die
android-support-v4
Bibliothek mitbringen , um Ice Cream Sandwich-Unterstützung anstelle der Honeycomb-Unterstützungsbibliothek zu erhalten.quelle
libs
Pfad, bereinigen und speichern Sie das Projekt, starten Sie Eclipse neu und kompilieren Sie es erneut.Foo.java
in einem Paket undFoo.java
in einem Glas inlibs/
Ich bin heute auf einen ähnlichen Fehler gestoßen, und der Grund dafür war, dass auf die Support-Bibliothek von zwei Bibliotheksprojekten verwiesen wurde, die von meinem App-Projekt verwendet wurden, jedoch unterschiedliche Versionen hatten.
Weitere Details: Meine App hängt von 2 Bibliotheksprojekten ab
Um das Problem zu lösen, musste ich die FaceBookSDK-Bibliothek von der ABS-Bibliothek anstelle der Support-Bibliothek direkt abhängig machen.
quelle
android-support-v4.jar
meinen Eclipse-Erstellungspfad hinzugefügt und ihn manuell zu dem vonlibs
mir erstellten Ordner hinzugefügt . Aufgrund der doppelten Verweise konnte ich nicht kompilieren (und erhielt die Fehlermeldung, die das OP erhielt). Ich habe denlibs
Ordner gelöscht, den ich dumm erstellt habe, und alles hat funktioniert. Danke für den Tipp.Nun, für mich habe ich die Datei im libs-Ordner namens android support v4.jar gelöscht und alles hat geklappt. Viel Glück :)
quelle
Ich hatte den gleichen Fehler und jedes Mal, wenn ich ihn behoben habe, kam er nach dem Neustart von Eclipse wieder.
Stellen Sie zunächst, wie andere bereits sagten, sicher, dass Sie nicht mehrere Kopien derselben JAR-Datei in Ihren Projekten haben.
In meinem Fall hatte ich ein Hauptprojekt, das ActionBarSherlock (unter anderem Bibliotheksprojekte) verwendete. Der Trick, der für mich funktioniert hat, war, sich zu entscheiden
ActionBarSherlock --> Properties --> Java Build path --> Order of Export
und die Auswahl aufzuhebenAndroid Private Libraries
. Dann gehen Sie inProject -> Clean
und jetzt sollten Sie in der Lage sein, das Projekt korrekt zu erstellen.Aus irgendeinem Grund wird dieses Kontrollkästchen bei jedem Neustart von Eclipse automatisch aktiviert, sodass ich diesen Vorgang erneut wiederholen muss.
Hoffe das hilft einer verlorenen Seele da draußen :)
quelle
Gehen Sie zu Projekt / Eigenschaften und Java Built Path und deaktivieren Sie die Android Private Libraries
quelle
Gehen Sie für mich einfach zu Projekteigenschaften >> Java-Erstellungspfad >> Bestellen und Exportieren. Deaktivieren Sie alle externen Bibliotheken, wie im Bild unten dargestellt. Es funktioniert für mich. Ich hoffe das hilft.
quelle
Ich habe dieses Problem auch in meinem Projekt gesehen. AVD kann keine Ordner-, lib-, res- und etc-Ordnerkontexte neu laden. Problem: Dex Loader] Dex kann nicht ausgeführt werden: Mehrere Dex-Dateien definieren
Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl
.Dann habe ich erstellt neue Projekte und kopiert
MainActivity.java
,activity_main.xml
, ziehbar Kontext. Löschen Sie dann das alte Projekt aus der Paketerkundung und starten Sie Eclipse und AVD neu. Mein Projekt funktioniert jetzt richtig .... :) Ich hoffe, diese Schritte helfen euch ein bisschen Leute .. !!quelle
Ich habe das gleiche Problem, was ich versucht habe, ist:
Es funktioniert bei mir, danke.
quelle
Wenn einige von Ihnen dieses Problem mit dem Facebook-Connent-Plugin für Phonegap haben
Versuche Dateien aus dem Verzeichnis bin / class / com / facebook / android zu entfernen! -> und wieder aufbauen
quelle
Wie bereits erwähnt, tritt dies auf, wenn Sie mehrere Kopien derselben Klasse in Ihrem Erstellungspfad oder an einer anderen Stelle in Ihrem Setup haben.
Ich hatte android-support-v4.jar zu meinem libs / -Ordner hinzugefügt und irgendwie hat Eclipse eine zweite Kopie zu bin / classes / android-support-v4.jar hinzugefügt.
Sie können dies mit testen
Das Löschen der zusätzlichen Kopie in bin / classes löste das Problem - unsicher, warum Eclipse dort eine Kopie erstellt hat.
quelle
Ich habe diesen Fehler aus einem anderen Grund erhalten. Ich habe mich geirrt, sowohl die v4- als auch die v13-Unterstützungsbibliothek hinzuzufügen. Dies war für mich nicht notwendig, da meine minSdkVersion 15 ist.
Ich habe es behoben, indem ich nur die v13-Unterstützungsbibliothek eingeschlossen habe. Stellen Sie außerdem sicher, dass Sie die Bibliothek in Ihrem exportierten Bibliothekserstellungspfad in Eclipse markieren. Ich habe es auch nach oben verschoben.
quelle
Selbst nachdem ich mehrere Antworten durchgesehen hatte, funktionierte für mich keine Lösung.
Ich habe "Android-Abhängigkeiten" aus dem Erstellungspfad gelöscht. Alle JAR-Dateien wurden erneut zum Erstellungspfad hinzugefügt, und der Fehler wurde behoben. Irgendwie schien die Sonnenfinsternis die Dinge zwischenzuspeichern.
quelle
Ich überlasse diese Antwort jemandem, der wie ich in dieses Szenario gerät.
Ich stolperte hier und da, bevor ich bemerkte, dass ich die JAR-Datei der Support Library fälschlicherweise in meinen src-Ordner gezogen und dort abgelegt hatte. Da ich keine Ahnung hatte, wie es passiert ist oder wann ich es dort abgelegt habe, konnte ich mir nie vorstellen, dass dort etwas nicht stimmte.
Ich bekam den gleichen Fehler, fand das Problem nach einiger Zeit und entfernte es. Das Projekt funktioniert jetzt einwandfrei.
quelle
Die Lösung für mich bestand darin, nur Folgendes zu tun:
quelle
Mein Problem war zunächst:
1) Ich klicke mit der rechten Maustaste auf mein Projekt -> Android-Tools -> Support-Bibliothek hinzufügen (Führe meine App aus ... Hat nicht funktioniert, also mache ich weiter ...) 2) Klicken Sie erneut mit der rechten Maustaste auf mein Projekt -> Eigenschaften -> Android -> Überprüfen Sie Android 4.1.2 (16) auf Project Build Target (Führen Sie die App erneut aus ... und holen Sie sich Folgendes:
3) Also ging ich in den Ordner "lib" meines Projekts und löschte die "alte" Android.support.library.jar (App ausführen und Daumen drücken und ...)
ES KLAPPT!
Hoffe es hilft jemandem ... Danke Leute!
quelle
Ich hatte dieses Problem und das bedeutet nicht, dass dieselbe Bibliothek viele Male geladen wird, aber das System versucht, eine Klasse mit demselben Namen und möglicherweise demselben Paketnamen gleichzeitig zu laden, d. H.
com.pack1.de
undClass Geometry
vonlibrary1.jar
und ein anderer
com.pack1.de
undClass Geometry
vonlibrary2.jar.
Wie solltest du dich nähern? Sie sollten analysieren, welche Methoden verwendet werden, eine Methode von library1.jar oder library2.
Es gibt 2 Lösungen,
Ich hoffe, das hat diese oft gestellte Frage geklärt.
quelle
Ich habe Android-Abhängigkeiten aus dem Erstellungspfad entfernt und es hat funktioniert.
quelle
Dieser Fehler ist mir passiert, als ich im Projekt meiner App auf ein Bibliotheksprojekt in meinem Eclipse-Arbeitsbereich (in meinem Fall das Facebook SDK) verwiesen und gleichzeitig das Facebook SDK als JAR in den Ordner libs aufgenommen habe. Durch Entfernen der Bibliotheksreferenz, aber Beibehalten des JAR im libs-Ordner wurde der Fehler behoben.
quelle
Ich hatte das gleiche Problem. Ich musste die
.apk
Datei löschen und dann funktionierte es.quelle
Für mich habe ich android-support-v4.jar aus dem lib-Ordner gelöscht und auch aus dem Build-Pfad entfernt.
quelle
build Path>configuration build path
support-v4 library
und klicken Sie auf Entfernenund dann bereinige dein Projekt und starte es wird funktionieren :-)
quelle
Für den Fall, dass jemand anderes wie ich gerade den Kopf in dieses Thema schlägt:
Mein Fall betraf eine Kette von Bibliotheksprojekten. Durch einfaches Reinigen aller Bibliotheken wurde alles behoben
quelle
Ich habe unten Lösung in Eclipse gefunden ... hoffe es funktioniert für dich :)
quelle
Dieses Problem tritt auf, wenn dieselbe Bibliothek mehrmals zu Ihrem Projekt hinzugefügt wird. Wenn Sie die Bibliothek nicht mehrmals absichtlich hinzugefügt haben, überprüfen Sie die Abhängigkeits- / Privatbibliotheken der Bibliotheken, die Sie in Ihrem Projekt hinzugefügt haben. Höchstwahrscheinlich haben sie bereits eine Bibliothek enthalten, die diesen Konflikt verursacht.
quelle
Ich hatte auch Probleme, dieses Problem zu finden. In meinem Fall geschah dies beim Kopieren der apk in eine E-Mail (Drag & Drop) - versehentlich wurde die apk in einem der Pakete in den Ordner src eingefügt. Nach dem Entfernen der apk aus dem Quellordner hat es gut funktioniert.
quelle
Ich hatte dieses Problem in Intellij und es lag daran, dass die ActionBarSherlock-Bibliothek, die ich meinem Projekt hinzugefügt habe, die android-support-v4.jar als Kompilierungsabhängigkeit definiert hat und diese JAR bereits in meinem Projekt enthalten war, sodass mehrere Kopien / Versionen von DEX unter vorhanden waren Kompilierzeit.
Die Lösung bestand darin, die Abhängigkeit des ActionBarSherlock-Moduls für dieses JAR so zu ändern, dass es Runtime statt Compile ist, da mein Projekt es bereits bereitstellte.
quelle
Für mich war das Problem, dass ich früher ein lib-Projekt (autobahn lib) hinzugefügt und später die Jar-Datei derselben Bibliothek geändert hatte. Obwohl ich Verweise auf das ältere Bibliotheksprojekt entfernt hatte, bekam ich diesen Fehler. Nach all den Antworten hier habe ich den Erstellungspfad usw. überprüft. Aber ich habe diese Bibliotheken nicht hinzugefügt, um den Erstellungspfad manuell zu erstellen. Ich hatte also nichts zu entfernen. Endlich stieß ich auf diesen Ordner.
Ich bemerkte, dass es zwei JAR-Dateien mit demselben Namen gab, die der Autobahn Android entsprachen und den Konflikt verursachten. Also habe ich alle JAR-Dateien im Ordner dexedLibs gelöscht und das Projekt neu erstellt. Damit war das Problem behoben.
quelle
Um die unzähligen anderen potenziellen Quellen hinzuzufügen ... Ich hatte alle Bibliotheken im
lib
Ordner meines Projekts aktualisiert, aber dann hat Eclipse alle Originalbibliotheken "hilfreich" neu installiert. In Eclipse gab es keinen Verweis mehr auf diese Bibliotheken, aber das externe Dex-Maker-Programm hat einfach alle Dateien imlib
Verzeichnis abgerufen und somit zwei Versionen mehrerer Bibliotheksdateien erhalten.jar
.git status
identifizierte die neuen Dateien und entferntegit clean -f
sie für mich (obwohl ich manchmal warten oder Eclipse unter Windows neu starten musste, weil die Dateien noch von der Kopie geöffnet waren).quelle
ULTRA einfache Lösung und feinste:
Entfernen Sie alles im Ordner "Hauptklick" des Hauptprojekts -> Eigenschaften -> Java-Erstellungspfad mit Ausnahme von Android XY (wobei XY die Version in Android ist). Reinigen und bauen. Getan!
Stellen Sie vorher sicher, dass Sie eine einzige android-support-v4.jar haben.
quelle
Wenn Sie Cordova verwenden, versuchen Sie den Befehl cordova clean
quelle