No se puede ejecutar dex: Límite de sobrecarga del GC excedido en Eclipse

Cuando descargué el proyecto de Git OsmAnd y fui a comstackrlo, Eclipse devolvió estos errores:

[Dex Loader] Unable to execute dex: GC overhead limit exceeded [OsmAnd] Conversion to Dalvik format failed: Unable to execute dex: GC overhead limit exceeded 

Google y Stackoverflow dijeron que debo cambiar -Xms40m -Xmx384m en eclipse.ini . La conversión a formato Dalvik falló: no se puede ejecutar dex: espacio de stack Java .
Limpié el proyecto y reinicié Eclipse, pero no ayudó.

Encontré este enlace: Consejos para el desarrollador de Android: “Falló la conversión a formato Dalvik: no se puede ejecutar dex: null” Pero no sé qué .jar de mi proyecto para cambiar la entrada. Si alguien puede ayudar, puedo enviar el proyecto para ellos.

Se puede arreglar cambiando los valores de VM en Eclipse.ini. Establezca los valores en 512 y 1024 de la siguiente manera:

 openFile --launcher.XXMaxPermSize 512M -showsplash org.eclipse.platform --launcher.defaultAction openFile -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms512m -Xmx1024m 

El área cambiada en la imagen enter image description here

Para mí, seguir los pasos trabajados

 1) Open eclipse.ini file 2)changed -Xms40m -Xmx512m to -Xms512m -Xmx1024m 3)Restart eclipse 

Mira aquí

eclipse.ini se ve así.

 -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar --launcher.library plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212 -product org.eclipse.epp.package.jee.product --launcher.defaultAction openFile -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms40m -Xmx512m -Xmx1024m 

Déjame asumir que este problema se debe a Android XML, porque con mucha frecuencia lo estás abriendo

Estos dos problemas siguientes en StackOverFlow están relacionados entre sí:

Cada vez que hago clic en un archivo XML de Android en Eclipse, carga datos para todas las versiones de API

y

No se puede ejecutar dex: se excedió el límite superior del GC

Encontré una solución más para resolver este problema que no sea boost los valores de VM o degradar a una versión anterior de ADT (22.6.2 o 23.2)

Nota:

Algunas de las versiones anteriores de ADT que no cargarán el XML cada vez que se abre, por lo que no hay desbordamiento de memoria para causar que se exceda este límite superior del GC, como se discutió en el primer hilo

Solución:

En la parte inferior del eclipse aparecerá el símbolo Papelera que indica Ejecutar el Recolector de Basura . Cada vez que cierre un archivo XML de Android, no olvide hacer clic en la papelera o ejecutar el recolector de basura para liberar memoria. De esta forma, puede proteger el espacio de trabajo para que no se bloquee este tipo de error: D

Esta podría ser una solución definitiva porque no puede boost el valor de la máquina virtual más allá de su límite de RAM si abre con frecuencia su XML de Android, especialmente si hace muchas cosas como yo: P

Espero que esto ayude a todos los que vendrán a este hilo 🙂

Mantenga la calma y el código encendidos

Después de 12 horas con este error y sin éxito con el cambio del archivo eclipse.ini, finalmente encontré la solución correcta. En mis variables de entorno había una variable llamada “_JAVA_OPTIONS” que contenía el valor “-Xmx512M”. Cambiando este valor al mismo valor que en eclipse.ini (-Xmx4096M) Pude volver a exportar mi proyecto a un archivo APK.

NO SÉ la razón detrás de este trabajo, pero funciona para mí todo el tiempo cuando todo lo anterior no.

No comience eclipse desde un atajo o un enlace. Siempre eclipse.exe desde eclipse.exe en tu carpeta de eclipse, la misma carpeta que contiene el eclipse.ini

Nota – Intenté solo para Linux.

Para evitar este mensaje molesto, tuve que cambiar mi configuración de la siguiente manera:

 -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913- 144807 -product com.android.ide.eclipse.adt.package.adtproduct -showsplash org.eclipse.platform --launcher.XXMaxPermSize 1024m --launcher.defaultAction openFile -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms512m -Xmx1024m 

basado en la respuesta marcada como correcta, cambiando

 -XX:MaxPermSize=256m -Xms512m -Xmx1024m 

y:

 --launcher.XXMaxPermSize 1024m 
 1) Open eclipse.ini file 2)change -Xms40m -Xmx512m to -Xms512m -Xmx1024m 3)Restart eclipse 

El mismo archivo eclipse.ini se ubicará en Eclipse en esta ruta raíz de Eclipse como:

 C:\Users\username\Downloads\adt-bundle-windows-x86_64-20140702\eclipse\eclipse.ini 

El mismo archivo se ubicará en el proyecto de estudio de Android: –

 C:\Users\username\AppData\Local\Android\sdk\tools\lib\monitor-x86_64\monitor(Type:Configuration settings) 

Si estas respuestas no funcionan (no lo hicieron para mí), prueba esto:

1) Haga una copia de su carpeta .metadata en su espacio de trabajo.

2) Elimine su directorio .metadata DESPUÉS DE HACER UNA COPIA

3) Abra Eclipse y cierre Eclipse.

4) Copie su carpeta de complementos de su antiguo .metadata a su nuevo .metadata

5) Importe todos los proyectos de vuelta a su espacio de trabajo

6) ¡Mantenga la calma y el código encendidos!