@JaredBurrows Das Problem in meinem Fall war, dass meine App zweimal die Bibliotheken kompilierte. Eine auf “compile fileTree” (kompiliert Ihr gesamtes libs-Verzeichnis) und “compile ****”.
– Maverick.pe
30. April 2015 um 21:22 Uhr
Kannst du bitte eine Antwort posten und richtig markieren?
– Jared Burrows
30. April 2015 um 21:39 Uhr
@JaredBurrows fertig. Danke
– Maverick.pe
5. Mai 2015 um 23:15 Uhr
Bitte lesen Sie meinen Beitrag hier stackoverflow.com/a/33387368/740372
– Sanjoy Saha
28. Oktober 2015 um 9:41 Uhr
Ich habe den gleichen Fehler, aber meine Gradle-Datei hat nicht so viele Kompilierungen. Bitte helfen Sie. Ich habe diese Frage gepostet: stackoverflow.com/questions/34558251/… Ich bin völlig neu in der Android-Entwicklung.
– Ayusch
2. Januar 2016 um 3:54 Uhr
minhazur
Dieses Problem ist sehr wahrscheinlich darauf zurückzuführen, dass das von Android auferlegte 65K-Methodendex-Limit überschritten wird. Dieses Problem kann gelöst werden, indem Sie entweder das Projekt bereinigen und einige nicht verwendete Bibliotheken und Methoden aus Abhängigkeiten in build.gradle entfernen. ODER durch Hinzufügen von Multidex-Unterstützung.
Wenn Sie also Bibliotheken und Methoden behalten müssen, können Sie die Multi-Dex-Unterstützung aktivieren, indem Sie sie in der Gradle-Konfiguration deklarieren.
Und danach überschreiben Sie die Methode in der Startklasse: @Override protected void attachmentBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(dies); }
– Mann
12. Oktober 2015 um 10:03 Uhr
Wow, es funktioniert super. Hätte nie gedacht, dass das das Problem sein könnte.
– Neela
8. April 2016 um 7:53 Uhr
Wenn Sie sehen möchten, was genau den Fehler verursacht, versuchen Sie, Ihr Projekt wie folgt über das Gradle-Terminal zu erstellen ./gradlew assembleDebug --stacktrace --debug . Ich habe diesen Fehler in meinem Fall gesehen com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
– NecipAllef
5. November 2016 um 8:48 Uhr
Amit Tümkur
Für mich war das Problem, dass ich einen unnötigen Complie-Bibliothekscode in build.gradle eingefügt hatte
was über 65.000 Methoden verursachte, also entfernte es, gradle sync, säuberte das Projekt und lief dann erneut und dann wurde dieser Fehler gestoppt. Ich brauchte nur Karten und gcm, also habe ich diese Zeilen eingefügt und das Projekt synchronisiert
Hallo Leute, ich bin erneut auf dieses Problem gestoßen, und diesmal lag es an der Änderung der Version der Build-Tools, und ich musste wirklich Multidex aktivieren. Also habe ich diese build.gradle-Datei meiner App hinzugefügt.
@Override
public void onCreate() {
MultiDex.install(this);
super.onCreate();
}
Dies ist die beste Lösung, Sie sollten nur die Bibliotheken einschließen, die Sie tatsächlich verwenden.
– Roisgoen
19. August 2015 um 16:26 Uhr
funktioniert bei mir!! Ändern Sie “compile ‘com.google.android.gms:play-services:7.5.0′” in kompilieren Sie “com.google.android.gms:play-services-identity:8.1.0” kompilieren Sie “com.google.android. gms:play-services-plus:8.1.0”
@edsappfactory.com Ich habe darauf verwiesen, verwendet und modifiziert.
– Amit Tumkur
10. Dezember 2015 um 14:47 Uhr
Vilen
Nur für den Fall, dass jemand immer noch damit zu kämpfen hat und keine Ahnung hat, warum dies passiert und wie es behoben werden kann. Tatsächlich dieser Fehler
Fehler: Ausführung für Aufgabe „:app:dexDebug“ fehlgeschlagen. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Prozess ‘Befehl ‘C:\Program Files\Java\jdkx.x.x_xx\bin\java.exe” beendet mit Ausgangswert ungleich Null 2
kann viele Gründe haben, aber sicherlich nicht etwas, das mit Ihrer JDK-Version zusammenhängt, also verschwenden Sie Ihre Zeit nicht in die falsche Richtung. Dies sind zwei Hauptgründe dafür
Sie haben dieselbe Bibliothek oder JAR-Datei, die mehrere Orte enthält, von denen einige miteinander in Konflikt stehen.
Sie sind dabei, das Methodenlimit von 65.000 zu erreichen oder bereits überschritten zu haben
Der erste Fall kann wie folgt behoben werden: Finden Sie heraus, welche Abhängigkeiten Sie mehrfach eingebunden haben. Führen Sie dazu den folgenden Befehl im Android Studio Terminal aus
Dadurch werden alle Abhängigkeiten zurückgegeben, aber JAR-Dateien, die Sie aus dem lib-Ordner einschließen, versuchen, die mit Sternchen markierte Duplizierung zu beseitigen
das ist nicht immer möglich, aber in einigen Fällen können Sie es trotzdem tun, nachdem Sie versucht haben, Module auszuschließen, die viele Male enthalten sind, können Sie es so machen
defaultConfig {
...
...
multiDexEnabled true
}
Für den zweiten Fall, in dem Sie das Methodenlimit überschreiten, sollten Sie versuchen, es zu minimieren, indem Sie enthaltene Bibliotheken entfernen (Hinweis klingt wie die erste Lösung), wenn dies nicht möglich ist, fügen Sie multiDexEnabled true zu Ihrer Standardkonfiguration hinzu Dies erhöht das Methodenlimit, ist jedoch aufgrund möglicher Leistungsprobleme nicht die beste Vorgehensweise WICHTIG multiDexEnabled true nur hinzufügen defaultConfig zu NoClassDefFoundErrorist nicht genug in der Tat auf allen Geräten mit Android <5 Lollipop, dies führt zu unerwartetem Verhalten und
. wie man es löst ist hier beschrieben
Maverick.pe Das wusste ich (damals) noch nicht [‘*.jar’]”compile fileTree(dir: ‘libs’, include: )”
kompiliere alles, was die jar-Erweiterung im libs-Ordner hat, also kommentiere (oder lösche) ich einfach diese Zeilen:
und es funktioniert gut. Danke trotzdem! Mein Fehler.
Alexiscanny
compile fileTree(dir: 'libs', include: ['*.jar'])
Ich hatte das gleiche Problem und habe das Entfernen der unnötigen Bibliothek behoben
Ich habe diese Bibliothek entfernt und konnte das Projekt problemlos ausführen.
Ich habe versucht, die sliderMenu-Klasse hinzuzufügen, und das Entfernen dieser Klasse aus meinem Hauptgradle hat für mich funktioniert. Danke! 🙂
– Lucas Senechal
30. April 2016 um 4:27 Uhr
Armin
defaultConfig {
multiDexEnabled true
}
Meins wurde gelöst, indem MultiDex für Debug-Builds aktiviert wurde.
Ich habe versucht, die sliderMenu-Klasse hinzuzufügen, und das Entfernen dieser Klasse aus meinem Hauptgradle hat für mich funktioniert. Danke! 🙂
– Lucas Senechal
30. April 2016 um 4:27 Uhr Ich lehne eingebettetes JDK (in 32bit) ab, weil es eingebettet ist
JDK ist 64-Bit Klicken Sie mit der rechten Maustaste auf Ihr Projekt -> Öffnen Sie die Moduleinstellung -> SDK-Speicherort -> Deaktivieren Sie Embedded JDk verwenden und legen Sie dann Ihren JDK-Pfad fest, z. B. in Ubuntu
/usr/lib/jvm/java-8-openjdk-i386
Ich denke, das funktioniert, weil eingebettetes JDK 64-Bit ist. Ich hatte das gleiche Problem auf meinem 32-Bit-Rechner.
– Lukas Novak
30. Mai 2016 um 15:32 Uhr echo $JAVA_HOME Dadurch wurde das Problem auf meinem 32-Bit-Computer behoben.
für den Weg
– SANBI-Proben
20. November 2016 um 10:23 Uhr
Ja, ich wusste, dass es damit zu tun hatte, dass mein Computer 32-Bit war. Danke, Zacharia – hat meinen Tag gerettet!
– Ilonpilaja
9644800cookie-checkJava beendet mit Nicht-Null-Exit-Wert 2 – Android Gradleyes
@JaredBurrows Das Problem in meinem Fall war, dass meine App zweimal die Bibliotheken kompilierte. Eine auf “compile fileTree” (kompiliert Ihr gesamtes libs-Verzeichnis) und “compile ****”.
– Maverick.pe
30. April 2015 um 21:22 Uhr
Kannst du bitte eine Antwort posten und richtig markieren?
– Jared Burrows
30. April 2015 um 21:39 Uhr
@JaredBurrows fertig. Danke
– Maverick.pe
5. Mai 2015 um 23:15 Uhr
Bitte lesen Sie meinen Beitrag hier stackoverflow.com/a/33387368/740372
– Sanjoy Saha
28. Oktober 2015 um 9:41 Uhr
Ich habe den gleichen Fehler, aber meine Gradle-Datei hat nicht so viele Kompilierungen. Bitte helfen Sie. Ich habe diese Frage gepostet: stackoverflow.com/questions/34558251/… Ich bin völlig neu in der Android-Entwicklung.
– Ayusch
2. Januar 2016 um 3:54 Uhr