Android Studio Archivo JAR de Google que genera un error de límite de sobrecarga de GC

Estoy usando Android Studio en OS X. Estoy recibiendo este mensaje de error:

FALLA: La generación falló con una excepción.

  • Lo que salió mal: La ejecución falló para la tarea ': app: preDexDebug'. Com.android.ide.common.internal.LoggedErrorException: Error al ejecutar el comando: / Aplicaciones / Android Studio.app/sdk/build-tools/android-4.4W/dx –dex –output / Users / alex / AndroidStudioProjects / SilentSMS / app / build / intermedios / pre-dexed / debug / android-4.3_r2.1-f22bbff4d1017230e169a4844a9c2195f13060d2.jar /Users/alex/AndroidStudioProjects/SilentSMS/app/libs/android-4.3_r2.1.jar

    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 añadí 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 incrementé en:

/ Applications / Android Studio.app/bin/idea.vmoptions para que ahora diga:

 -Xms256m -Xmx1024m 

Sin embargo, sigo recibiendo el error. ¿De qué podría ser esto causado? Aparte de la aplicación silentSMS que es un proyecto de Eclipse y yo portar el código a Android Studio no he cambiado nada. En términos de Android Studio detección de errores – no lo hace, y todo lo demás se ve bien.

Pienso que hay una manera separada de aumentar el límite del montón de la operación dexing. Añadir esto a su cierre de android en su archivo build.gradle :

 dexOptions { javaMaxHeapSize "4g" } 

Y ver si eso ayuda.

(Idea cortesía de esta respuesta de Scott Barta )

En mi caso, para aumentar el tamaño del montón se ve así:

Uso de Android Studio 1.1.0

 android { dexOptions { incremental true javaMaxHeapSize "2048M" } } 

Ponga el código anterior en su archivo Build.gradle .

Este nuevo problema es causado por la última versión de Android.

Vaya a la carpeta raíz del proyecto, abra gradle.properties y agregue las siguientes opciones:

 org.gradle.daemon=true org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.configureondemand=true 

A continuación, agregue estos cambios en su archivo build.gradle :

 dexOptions { incremental = true preDexLibraries = false javaMaxHeapSize "4g" // 2g should be also OK } 

Desactivar mi ejecución instantánea por:

Preferencias de menú → CrearEjecutar instantáneamente "Habilitar la ejecución instantánea en el código de intercambio en caliente"

Supongo que es la ejecución instantánea que hace que la construcción de lento y crea un archivo de gran tamaño pidXXX.hprof que hace que el límite de gastos generales AndroidStudio gc superado.

(Mi SDK del dispositivo es 19.)

Me forcé a cerrar todo Java.exe de taskmanger, reinició Android Studio y funcionó para mí

Introduzca aquí la descripción de la imagen

  • Cómo convertir Byte Array a archivo PDF en Android?
  • Variable 'runnable' debe ser inicializado
  • Cajón de navegación - Vista de cabecera con ListView
  • Android Studio "clase" o "interfaz" esperado
  • Método llamado después de la excepción release () no se puede reanudar con la cámara android
  • Excepción de SDK de Google Drive
  • ¿Cómo emular el efecto Vinyl Scratch en el procesamiento de audio?
  • ¿Cuáles son los 37 paquetes de Java API posiblemente gravados por la decisión de Oracle v de mayo de 2014?
  • Reproduce la lista de archivos mp3 con MediaPlayer en Android
  • Transferencia de Bluetooth La aplicación se detiene después de usar InputStream.read () sin error
  • Impedir el clic de Android ImageVIew?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.