tag studio log example and android android-studio android-gradle android-gradle-plugin

log - tag android studio



DexException: no se puede combinar el nuevo índice 65536 en una instrucción no jumbo (5)

Con el último Android Studio y la marca "force jumbo" marcada en la configuración del compilador de Android Studio, este problema desaparece.

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 de los temidos 64k.

Estoy usando AS 0.8.11 ahora.


Establezca la propiedad jumboMode en build.gradle:

android { ... dexOptions { jumboMode true } }

También encontré esto útil: Mostrar el método de dex contar por paquete .


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 solucionar agregando "dex.force.jumbo=true" a project.properties.


Esto funciona para mi. Estaba recibiendo 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 usar multidex o proGuard.


Intente agregar esta línea en su proyecto.

dex.force.jumbo = true

Que incrementan el límite de cadenas en un archivo dex. Y su proyecto probablemente se compilará.

Nota: También con el juego jumbo, hay otro límite de 64K solo para métodos en una sola desviación. Si obtiene este límite en el futuro, deberá eliminar algunas dependencias.

Actualización: Google Play Services 6.5 (12-12-14)

Con la versión 6.5, Google finalmente desglosó los Servicios de Google Play. Entonces, a partir de ahora, será posible compilar selectivamente las API en su ejecutable.

Ejemplo:

compile ''com.google.android.gms:play-services-maps:6.5.+'' compile ''com.google.android.gms:play-services-ads:6.5.+''

Para todas las otras API de servicios individuales de Google Play, consulte esta página en d.android.com.

Actualización (21-04-2015): https://developer.android.com/tools/building/multidex.html