Error de conversión al formato Dalvik: no se puede ejecutar dex: espacio de pila Java

79

He agregado un archivo jar de 2.45mb a mi proyecto de eclipse de Android y ahora continúo obteniendo "Error de conversión al formato Dalvik: no se puede ejecutar dex: Java heap space" sin importar lo que haga.

Investigué en línea y se me informó que actualice mi eclipse.ini para aumentar el tamaño de mi VM Java. He hecho esto para todos los valores en eclipse.ini y sigo obteniendo el error de compilación.

¿Algunas ideas?

AndroidPlaya
fuente
¿Puedes publicar las líneas que agregaste a eclipse?
CRM
-plugins de inicio / org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins / org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810 -product org.eclipse.epp.package .java.product --launcher.defaultAction abrirArchivo --launcher.XXMaxPermSize 512M -showsplash org.eclipse.platform --launcher.XXMaxPermSize 512m --launcher.defaultAction abrirArchivo -vmargs -Dosgi.requiredJavaVersion = 1,5 -Xms512m -Xmx512m
AndroidPlaya
yo también tengo las entradas -data @noDefault en mi init: he intentado agregar varios códigos, incluidos -Xms512m -Xmx512m y -vmargs -Xms512m -Xmx512m en varias permutaciones con estas dos líneas. También hay sugerencias para agregar unas 20 líneas más de código que también he probado. alguien necesita publicar las líneas COMPLETAS de código necesarias en exclipse.ini, de arriba a abajo, y si alguna ruta de archivo en el código agregado debe personalizarse, que será diferente para varias configuraciones
Androidcoder
También intenté iniciar desde la línea de comandos con eclipse -vmargs -Xms512m -Xmx512m que no ha funcionado
Androidcoder

Respuestas:

209

Modifique los parámetros -XmsAmy para que sean lo suficientemente grandes. El valor predeterminado es . Intente cambiarlos a y reinicie eclipse para ver si eso ayuda. De lo contrario, continúe aumentando los valores y reinicie el eclipse hasta que suceda una de estas dos cosas:-XmxBmeclipse.ini-Xms40m -Xmx384m-Xms512m -Xmx512m

  1. Tu construcción se completa.
  2. Eclipse no se reiniciará porque no tiene suficiente memoria.

eclipse.inise encuentra /etc/eclipse.inien Ubuntu (suponiendo que haya instalado Eclipse desde los repositorios de Ubuntu).

Para MAC, consulte:

Encontrar eclipse.ini es un poquito complicado. Para localizarlo, haga clic con el botón derecho en el icono de la aplicación Eclipse y seleccione "Mostrar contenido del paquete", luego haga doble clic en la carpeta "Contenido" y luego haga doble clic en la carpeta "MacOS", la casa de eclipse.ini

https://confluence.sakaiproject.org/pages/viewpage.action?pageId=61341742

JohnnyLambada
fuente
8
Esta página describe cómo encontrar eclipse.ini en mac.
JohnnyLambada
7
En Windows se encuentra justo al lado eclipse.exe, donde sea que lo coloques.
Cheezmeister
1
Las únicas entradas que tengo son -data @noDefault Por favor avise
Roy Hinkley
@JohnnyLambada Hola Johny He agregado un archivo jar de 7mb y he modificado la variable xms a 1024m ambos. Pero ahora recibo este error La conversión al formato Dalvik falló con el error 1
Gaurav Arora
1
El indicador Xmx especifica el grupo máximo de asignación de memoria para una máquina virtual Java (JVM), mientras que Xms especifica el grupo de asignación de memoria inicial de acuerdo con esta respuesta SO.
JohnnyLambada
20

A veces, comprobar la biblioteca .jar en las propiedades del proyecto también causa este problema. En ese caso, intente lo siguiente:

Right click your project. 
Go to Properties -> Java Build Path -> Order and Export.
Uncheck the check box against your included library. 
Press OK and run the project.

Al hacer esto, Eclipse tomará solo las clases que se necesitan en el código, del jar en lugar de almacenar todas las clases del jar.

Mihir Shah
fuente
5
Al desmarcar la biblioteca de 'Ordenar y exportar', se genera 'ClassNotFoundException' cuando se accede a una clase de esa biblioteca desde el código. Las bibliotecas deben exportarse.
Vaishak Nair
Sí, eso es correcto, recibo el error de montón de Java, cuando desmarqué toda la biblioteca, se ejecuta pero la aplicación se bloquea en el dispositivo, por favor ayúdeme ..
AK Joshi
0

Todas las respuestas anteriores son perfectas, pero puede probar una cosa más y eso es rápido y fácil, cierre todos sus proyectos abiertos innecesarios en el espacio de trabajo de Eclipse y luego reinicie Eclipse.

También puede aumentar los parámetros -XmsAm y -XmxBm en eclipse.ini.

GOLDEE
fuente
Me enfrento al mismo problema, también lo intenté, el tamaño de la memoria cambia. Pero problema no resuelto. Finalmente, lo hice, Explorador de proyectos -> clic derecho -> Maven -> actualizar proyecto. Mi problema se resolvió. Una vez que hice el último pago, debería hacer la actualización de Maven. Pero me equivoqué.
Sun
@Ravi, ¿cómo solucionas el error? Házmelo saber también.
Sandeep Londhe
0

Vaya a las propiedades de su proyecto y elimine las bibliotecas agregadas de Java Build Path, presione ok, luego vuelva a agregarlas. También enfrenté este problema Al hacer esto, resolví este problema.

noman404
fuente
Esto realmente funcionó para mí con eclipse ADT @AndroidHacker
noman404
-1

Adición importante:

La solución no funcionó en mi Windows (probablemente problemas de asignación de memoria), pero funcionó bien en Linux en la misma máquina. Entonces, la instalación de otro sistema operativo le ayudaría a usted oa la reinstalación de Windows.

Alexander Ukhov
fuente
Acabo de reinstalar Mi SO ... no funcionó. También reemplacé mi placa base por si acaso y compré un nuevo disco duro, que tampoco funcionó.
Kapitein Witbaard