UNERWARTETE BESTE AUSNAHME: com.android.dex.DexException: Mehrere dex-Dateien definieren
Ich habe Probleme versuchen, verwenden Sie ein Google-Play-Dienste auf meinem Android App mit Android Studio.
Ich habe alles versucht und immer noch nicht funktioniert.
Dies ist der Fehler.
Execution failed for task ':app:dexDebug'.
com.android.ide.common.intern.LoggedErrorException: Failed to run command:
/Benutzer/jghg/Desktop/My-App/Android/SDK/android-sdk-mac_86/build-tools/19.0.1/dx --dex --output /Users/jghg/Desktop/My-App/Eureka/UDA/app/build/libs/app-debug.dex /Users/jghg/Desktop/My-App/Eureka/UDA/app/build/classes/debug /User/jghg/Desktop/My-App/Eureka/UDA/app/build/Abhängigkeit-cache/debug /User/jghg/Desktop/Meine App/Eureka/UDA/app/build/pre-dexed/debug/classes-08979151dd1373bd3f799299d93376d22d4afa46.jar /Benutzer/jghg/Desktop/Meine App/Eureka/UDA/app/build/pre-dexed/debug/classes-167b9d3c5d689abe004c3fa5b0bcb945d3f0fc8e.jar /Benutzer/jghg/Desktop/Meine App/Eureka/UDA/app/build/pre-dexed/debug/google-play-services-ec20f8af7bb457c5095cae1afa0cee722582f198.jar /Benutzer/jghg/Desktop/Meine App/Eureka/UDA/app/build/pre-dexed/debug/support-v4-13.0.0-473d85b8d55c88bfed3404072e6c132f96543429.jar /Benutzer/jghg/Desktop/Meine App/Eureka/UDA/app/build/pre-dexed/debug/support-v4-19.0.1-861cc05365a0e9262c764da37d61e3f93dc16de6.jar /Benutzer/jghg/Desktop/Meine App/Eureka/UDA/app/build/pre-dexed/debug/support-v4-19.0.1-dcc11377c764caea791f711123b8b678f876c3b6.jar /Benutzer/jghg/Desktop/Meine App/Eureka/UDA/app/build/pre-dexed/debug/twitter4j-async-3.0.5-0904cb320186fb23a9a9bf25a048c5bc4ec07bc2.jar /Benutzer/jghg/Desktop/Meine App/Eureka/UDA/app/build/pre-dexed/debug/twitter4j-core-3.0.5-41d2d5805e2d90cf77813a126306c4cbe22583ae.jar /Benutzer/jghg/Desktop/Meine App/Eureka/UDA/app/build/pre-dexed/debug/twitter4j-examples-3.0.5-adc1ee9b037c8061429560e6a5fe89ce8e502db6.jar /Benutzer/jghg/Desktop/Meine App/Eureka/UDA/app/build/pre-dexed/debug/twitter4j-media-support-3.0.5-37d138cdc631738d13ddb6f4d34c560a9cd8e048.jar /Benutzer/jghg/Desktop/Meine App/Eureka/UDA/app/build/pre-dexed/debug/twitter4j-stream-3.0.5-c96c138ea216b25631a1a8b47520ecaf33f288d8.jar
Fehler Code:
2
Ausgabe:
UNERWARTETE TOP-LEVEL-EXCEPTION:
com.android.dex.DexException: Mehrere dex-Dateien definieren, Lcom/google/anzeigen/AdRequest$ErrorCode;
bei com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
bei com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
bei com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
bei com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
bei com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
bei com.android.dx.Befehl.dexer.Main.mergeLibraryDexBuffers(Main).java:439)
bei com.android.dx.Befehl.dexer.Main.runMonoDex(Main).java:287)
bei com.android.dx.Befehl.dexer.Main.laufen(Main).java:230)
bei com.android.dx.Befehl.dexer.Main.main(Main.java:199)
bei com.android.dx.Befehl.Main.main(Main.java:103)
Dank.
Beste Grüße.
InformationsquelleAutor der Frage Josué H. | 2014-03-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tritt der Fehler auf wenn du die gleiche library/- Verzeichnis enthalten mehr als einmal in deinem build.gradle Abhängigkeiten. Ok, sagen wir, Sie haben eine App-Struktur, die wie folgt aussieht:
So haben Sie die wichtigste "app" und dann haben Sie eine Reihe von sub-apps/Module/Bibliotheken. Die Bibliotheken sind: 1)
gene_test_library
2)genes_nine_old_androids_library
& 3)swipe_list_view_library
.Mein name ist Gene, so dass ist, warum gibt es all diese "gen" - Bibliotheken.
Innerhalb der
build.gradle
für“app”
habe ich:Innerhalb der
build.gradle
fürgene_test_library
habe ich nichts:Innen
build.gradle
fürgene_nine_old_androids_library
habe ich:Innen
build.gradle
fürswipe_list_view_library
habe ich:Diese Codezeile
compile fileTree(dir: 'libs', include: ['*.jar'])
bedeutet nur, "hey, sehen Sie in den "libs" Ordner in diesem Modul für alle jar-Dateien. Ich habe nichts in den libs-Ordner der alle Module, so können Sie ignorieren, dass die code-Zeile.Also sagen wir mal ich entfernen Sie die Kommentarzeichen aus
//compile project(':libraries:genes_nine_old_androids_library')
In der
build.gradle
für die“app”
Modul. Dann würde ich die“UNEXPECTED TOP-LEVEL EXCEPTION:”
Fehler. Warum ist das so?Gut, schreiben
//compile project(':libraries:genes_nine_old_androids_library')
innerhalb derbuild.gradle
für“app”
ist die gleiche wie die build-Abhängigkeiten des“genes_nine_old_androids_library”
Modul und setzen es dort. Also die Kommentarzeichen vor den//compile project(':libraries:genes_nine_old_androids_library')
- Anweisung, diebuild.gradle
für "app" - Modul wird:Bemerken, wie jetzt
compile 'com.android.support:appcompat-v7:21.0.0'
zeigt sich 2x. Das ist, wo der Fehler herkommt.InformationsquelleAutor der Antwort Gene
Ihre google play-Dienste-Bibliothek exportiert wird, von anderen Abhängigkeiten Ihres Projekts und zur compile-Zeit der dex-compiler Durcheinander kommt.
Wenn Sie mit Gradle darunter dann diese in Ihr Projekt zu bauen.gradle soll ausschließen, dass die Unterstützung, die Bibliothek exportiert und können in Ihr Haupt-Projekt.
Wenn Sie mit der andoid-studio-build-system. Dann gehen Sie auf Datei -> Projekt-Struktur und-deaktivieren -> Module. Gehen Sie durch jedes Modul und klicken Sie auf die Registerkarte Abhängigkeiten, deaktivieren Sie das export-Spalte für die support-library und die google-play-Dienste der Bibliothek.
Kommentare, wenn Sie weitere Hilfe benötigen.
InformationsquelleAutor der Antwort iTapAndroid
Könnte es auch passieren, wenn du unterschiedliche Versionen der gleichen Bibliothek importiert in deinem build.gradle vs in einer Ihrer Bibliotheken. Zum Beispiel, Google Play Store-Diensten erfordert, dass Sie haben Sie alle verweisen auf die gleiche version, die ich hatte:
app zu bauen.gradle
compile 'com.google.android.gms:play-services-base:7.5.0'
in der Erwägung, dass:
Modul/Bibliothek bauen.gradle
compile 'com.google.android.gms:play-services-cast:7.8.+'
Upgrade meiner app version 7.8.0 das problem gelöst
InformationsquelleAutor der Antwort kip2