Error de Android en Eclipse: "No se puede ejecutar dex: No se puede combinar el nuevo índice 65799 en una instrucción no jumbo!"

Estoy intentando un proyecto de Android usando OpenSAML usando Eclipse. He agregado todos los archivos jar necesarios en la ruta de construcción. Ahora, cuando ejecuto el programa como una aplicación de Android, aparece el siguiente error:

[2012-11-18 11:52:59 - Dex Loader] Unable to execute dex: Cannot merge new index 67075 into a non-jumbo instruction! [2012-11-18 11:52:59 - MyTestProgram] Conversion to Dalvik format failed: Unable to execute dex: Cannot merge new index 67075 into a non-jumbo instruction! 

Busqué un poco en Google, pero no surgió nada. ¿Qué podría significar este error?

Una solución que encontré que lo hizo funcionar para mí fue añadir dex.force.jumbo=true a mi project.properties .

Esto se señaló en: https://groups.google.com/forum/?fromgroups=#!topic/adt-dev/tuLXN9GkVas

Esto es suponiendo que está ejecutando ADT 21 como esta característica no estaba disponible en versiones anteriores.

El mismo problema … acaba de poner

 dex.force.jumbo=true 

En la primera línea de proyecto.properties

Si utiliza gradle build, simplemente añada dexOptions a build.gradle para habilitar el modo jumbo:

 android { dexOptions { jumboMode = true } } 

Recuerde ejecutar "gradle clean" antes de su nuevo edificio.

Tuve el mismo problema, pero mi IDE era IntelliJ IDEA 13. En esa versión, la instrucción dex.force.jumbo en el archivo project.properties es ignorada.

Para habilitarlo, simplemente vaya a Configuración | Compilador | Android DX y seleccione la opción Modo de jumbo de fuerza .

Espero que ayude (esta es la única pregunta relacionada con SO que he podido encontrar).

Sólo añadir jumboMode=true no funcionó para mi compilación gradle. Sin embargo, esto funcionó (citado de Xavier en el grupo adt-dev como una respuesta a un error archivado en esta área):

"Intente eliminar todas las carpetas de compilación manualmente y volver a crear, asegurándose de que dexOptions.jumboMode esté establecido en true en el proyecto?

Existe un problema en el que la compilación del proyecto raíz no se elimina en la tarea limpia y contiene información acerca de las bibliotecas predexuales. "

Añadiendo alguna explicación:

Esto sucede cuando Eclipse intenta construir de forma incremental, cuando un cambio aumenta el número de constantes de cadena en la aplicación. El dex original tenía instrucciones no jumbo, y el nuevo dex que se está fusionando en él tiene instrucciones jumbo. Hacer una limpieza mostrará que funciona cuando se construye desde cero.

Mientras el número de cadenas en su aplicación sea monotonically creciente, las creaciones incrementales funcionarán adelante.

Tuve el mismo problema, pero en mi caso el comando "dex.force.jumbo = true" no soluciona el problema. Trato de actualizar JDK y JRE, y que resolver el problema.

Espero que esta respuesta me ayude

  • Errores en Eclipse LogCat - Android
  • Proyecto androide de eclipse de exportación
  • No se puede encontrar SDK y AVD Manager
  • Android: no se pudo encontrar un AVD compatible con el error "Android 1.6" de destino
  • ¿Hay una manera de establecer DEBUG para todas las etiquetas en ADB de Android?
  • Biblioteca de Android: los recursos se fusionan, el código no
  • Extraño error xml: Línea incorrecta final
  • Cómo configurar Eclipse para usar Phonegap en Ubuntu?
  • Eclipse de un paquete de ADT se bloquea en Ubuntu 14.04
  • ¿Cualquier manera simple o fácil de depurar el código de Android NDK?
  • Error al copiar el manifiesto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.