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?
- Java (Eclipse) - Recopilación condicional
- No hay AVD instalado
- Error al analizar la salida de 'versión de adb'
- Nexus 5 no se mostrará en Eclipse
- Establecer la ruta de construcción en Eclipse para el programa ndk
- ¿Cómo puedo resolver un error "Error al leer el contenido firmado." Al instalar ADT 23.0.2 en Eclipse 4.4 en OSX
- Se ha producido un error en la conversión al formato Dalvik: No se puede ejecutar dex: Se sobrepasó el límite superior de GC
- Eclipse libGDX no se puede ejecutar como aplicación Android
- Android: agregar insignia a los iconos internos de mi aplicación
- Variable de ruta de clase unbound java android eclipse
- La salida logcat de mi aplicación sigue desapareciendo debido a otras salidas no deseadas que inundan logcat
- No se puede acceder al archivo php desde otro dominio
- Siempre ejecutando proguard antes de Android dex'ing en Eclipse
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
- Mostrar la ubicación actual y los lugares cercanos y la ruta entre dos lugares con la API de Google Maps en Android
- RecyclerView y SwipeRefreshLayout