Aus einem unbekannten Grund wird meine App plötzlich nicht mehr aus Android Studio erstellt.
Ich bekomme immer
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/home/martynas/android-sdk/build-tools/19.1.0/dx --dex --num-threads=4 --output
...
...
...
Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Cannot merge new index 65536 into a non-jumbo instruction!
Während die gleiche Anwendung erfolgreich über die Befehlszeile erstellt wird. Ich habe die Anzahl der Methodenreferenzen überprüft und sie liegen weit unter den gefürchteten 64 KB.
Ich verwende jetzt AS 0.8.11.
quelle
project.properties
hat nicht funktioniert, daher habe ich mein Gradle-Build-Skript wie hier beschrieben aktualisiert: stackoverflow.com/questions/17320088/…compile 'com.google.android.gms:play-services-base:7.3.0'
Legen Sie die Eigenschaft jumboMode in build.gradle fest:
Ich fand das auch nützlich: Anzeigen der Anzahl der Dex-Methoden nach Paket .
quelle
Das funktioniert bei mir. Ich wurde
com.android.dex.DexIndexOverflowException: Cannot merge new index 66636 into a non-jumbo instruction!
Wenn dies nicht funktioniert, haben Sie möglicherweise das Referenzlimit für Methoden in dex erreicht, was ein anderes Problem darstellt. Sie müssen entweder Multidex oder ProGuard verwenden.
quelle
Dies ist ein Fehler bei der Zusammenführung, wenn die zusammengeführten Dex-Dateien mehr als 65536 Zeichenfolgen enthalten. Der neue Index kann nicht in eine const-string-Anweisung passen, und die Dex-Fusion unterstützt keine Änderungsanweisungen, wenn sie unterschiedliche Größen haben. Daher kann er nicht zu einer const-string / jumbo-Anweisung erweitert werden. Dies wurde behoben jb-mr1 durch Hinzufügen einer neuen Option: --force-jumbo. Dieser Fehler kann durch Hinzufügen
"dex.force.jumbo=true"
zu project.properties behoben werden .quelle
Wenn das neueste Android Studio und das Flag "Force Jumbo" in den Einstellungen des Android Studio-Compilers aktiviert sind, verschwindet dieses Problem.
quelle