Estoy usando Android Studio en OS X. Recibo este mensaje de error:
FALLO: Falló la compilación con una excepción.
Qué salió mal: la ejecución falló para la tarea ': aplicación: preDexDebug'. com.android.ide.common.internal.LoggedErrorException: Error al ejecutar el comando: / Applications / Android Studio.app/sdk/build-tools/android-4.4W/dx --dex --output / Users / alex / AndroidStudioProjects / SilentSMS / app / build / intermediates / pre-dexed / debug / android-4.3_r2.1-f22bbff4d1017230e169a4844a9c2195f13060d2.jar /Users/alex/AndroidStudioProjects/SilentSMS/app/libs/android-4.3_r2.
Código de error: 3 Salida:
UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.android.dx.cf.code.RopperMachine.getSources(RopperMachine.java:665)
at com.android.dx.cf.code.RopperMachine.run(RopperMachine.java:288)
at com.android.dx.cf.code.Simulator$SimVisitor.visitLocal(Simulator.java:612)
at com.android.dx.cf.code.BytecodeArray.parseInstruction(BytecodeArray.java:412)
at com.android.dx.cf.code.Simulator.simulate(Simulator.java:94)
at com.android.dx.cf.code.Ropper.processBlock(Ropper.java:782)
at com.android.dx.cf.code.Ropper.doit(Ropper.java:737)
at com.android.dx.cf.code.Ropper.convert(Ropper.java:346)
at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:282)
at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:139)
at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:94)
at com.android.dx.command.dexer.Main.processClass(Main.java:682)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
at com.android.dx.command.dexer.Main.access$600(Main.java:78)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:596)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at com.android.dx.command.dexer.Main.main(Main.java:199)
at com.android.dx.command.Main.main(Main.java:103)
Estoy usando esta biblioteca:
http://grepcode.com/snapshot/repository.grepcode.com/java/ext/com.google.android/android/4.3_r2.1/
Saqué el archivo JAR y lo agregué a mi proyecto; el proyecto que estoy tratando de construir es:
https://github.com/domi007/silentSMS/
Entiendo que es porque mis valores xms y xmx son demasiado bajos. Los aumenté en:
/ Aplicaciones / Android Studio.app/bin/idea.vmoptions para que ahora diga:
-Xms256m
-Xmx1024m
Sin embargo, todavía recibo el error. ¿Por qué podría ser esto causado? Aparte de que la aplicación silentSMS es un proyecto de Eclipse y que yo transfiero el código a Android Studio, no he cambiado nada. En términos de errores de detección de Android Studio, no lo hace, y todo lo demás se ve bien.
4g
es un poco exagerado,2g
está bienOutOfMemoryError
org.gradle.jvmargs=-XX:MaxPermSize=1024m -Xms1024m -Xmx4096m -XX:ReservedCodeCacheSize=1024m
En mi caso, para aumentar el tamaño del montón se ve así:
Usando Android Studio 1.1.0
Coloque el código anterior en su archivo Build.gradle .
fuente
GC overhead limit exceeded
después de que habilité Multidexing. La excepción fue enat com.android.dx.command.dexer.Main.runMultiDex(Main.java:334)
at com.android.dx.util.FixedSizeList.<init>(FixedSizeList.java:38)
y la parte superior de la pila eracom.android.dx.command.dexer.Main.runMultiDex(Main.java:334) at com.android.dx.command.dexer.Main.run(Main.java:244) at com.android.dx.command.dexer.Main.main(Main.java:215) at com.android.dx.command.Main.main(Main.java:106)
incremental
: esto tiene muchas limitaciones y puede no funcionar. Usar con cuidado.Este nuevo problema es causado por la última versión de Android.
Vaya a la carpeta raíz de su proyecto, abra
gradle.properties
y agregue las siguientes opciones:Luego agregue estos cambios en su
build.gradle
archivo:fuente
android.dexOptions.incremental
propiedad está en desuso y no tiene ningún efecto en el proceso de compilación.incremental
se elimina a fines de 2018Desactivo mi ejecución instantánea al:
Preferencia de menú → Generar → Ejecución instantánea "Habilitar ejecución instantánea en código de intercambio en caliente"
Supongo que es la ejecución instantánea lo que hace que la compilación sea lenta y crea un archivo pidXXX.hprof de gran tamaño que hace que se exceda el límite superior de AndroidStudio gc.
(El SDK de mi dispositivo es 19.)
fuente
Android Studio 3.5.3
Encuentre la configuración de memoria (Cmd + Shift + A en Mac o haga clic en Ayuda y comience a escribir "Configuración de memoria") en Preferencias / Configuración y aumente el tamaño del montón IDE y / o el tamaño del montón Daemon para su satisfacción
fuente
Agregue esto al archivo build.gradle
fuente
Forcé a cerrar todos los Java.exe desde el administrador de tareas, reinicié Android Studio y funcionó para mí
fuente
Para mí, ninguna de las respuestas funcionó que vi aquí funcionó. Supuse que hacer que la CPU trabaje extremadamente duro hace que la computadora se caliente. Después de cerrar los programas que consumen grandes cantidades de CPU (como Chrome) y enfriar mi computadora portátil, el problema desapareció.
Como referencia: tenía la CPU en 96% -97% y el uso de memoria sobre 2,000,000K por un proceso java.exe (que en realidad era un proceso relacionado con gradle).
fuente
Estoy usando
Android Studio 3.4
y lo único que funcionó para mí fue eliminar las siguientes líneas de mibuild.gradle
archivo:Debido a que
Android Studio 3.4
está usandoR8
enfull mode
y no es compatible con directaProguard
fuente
minifyEnabled true
configuración pro-guard mientras gradle-5.1.1 tenía problemas similares../gradlew wrapper --gradle-version=5.2.1
en mi caso, edito mi
gradle.properties
:nota: si habilita el
minifyEnabled true
:eliminar esta línea:
y agregue estas líneas en ur
build.gradle
,android
bloquee:Espero que esto ayude a alguien :)
fuente
4g es un poco exagerado, si no desea cambiar buildGradle puede usar ARCHIVO -> Cachés / reiniciar no válidos.
Eso funciona bien para mí ...
fuente
En algún momento
apply plugin: 'com.android.application'
se agregó una copia duplicada de mi gradle de construcción. Quitar la copia duplicada y asegurarme de que todos mis complementos de aplicación estuvieran en la parte superior me solucionó el problema.fuente