Por alguna razón desconocida, mi aplicación de repente no se compilará desde Android Studio.
Sigo recibiendo
> 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!
Mientras que la misma aplicación se construye con éxito desde la línea de comandos. He comprobado el recuento de referencias de métodos y está muy por debajo del temido 64k.
Estoy usando AS 0.8.11 ahora.
fuente
project.properties
no funcionó, así que actualicé mi script de compilación de Gradle como se describe aquí: stackoverflow.com/questions/17320088/…compile 'com.google.android.gms:play-services-base:7.3.0'
Establezca la propiedad jumboMode en build.gradle:
android { ... dexOptions { jumboMode true } }
También encontré esto útil: Mostrar el recuento de métodos dex por paquete .
fuente
Esto funciona para mi. Yo estaba consiguiendo
com.android.dex.DexIndexOverflowException: Cannot merge new index 66636 into a non-jumbo instruction!
android { ... dexOptions { jumboMode true } }
Si esto no funciona, es posible que haya alcanzado el límite de referencia del método en dex, que es un problema diferente. Debe utilizar multidex o proGuard.
fuente
Este es un error en la fusión cuando los archivos dex que se fusionan tienen más de 65536 cadenas. El nuevo índice no puede caber en una instrucción const-string, y la fusión dex no admite el cambio de instrucciones si son de diferentes tamaños, por lo que no se puede ampliar a una instrucción const-string / jumbo. jb-mr1 agregando una nueva opción: --force-jumbo. Este error se puede corregir agregando
"dex.force.jumbo=true"
a project.properties.fuente
Con la última versión de Android Studio y la marca "force jumbo" marcadas en la configuración del compilador de Android Studio, este problema desaparece.
fuente