Android Studio 2.1 ejecución instantánea java.lang.OutOfMemoryError: Límite de sobrecarga de GC superado
He actualizado a Android Studio 2.1 y tengo este error mientras estoy tratando de construir y ejecutar mi gran proyecto corporativo:
La ejecución falló para la tarea ': app: transformClassesWithDexForMyAppDebug'. Com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Límite de sobrecarga de GC superado
- Android: la aplicación se bloquea frecuentemente con una ejecución instantánea
- La ejecución instantánea toma más tiempo que las compilaciones estándar
- Android Studio Instant ejecutar no funciona con java 8 en android
- Androide InstantRun - Norton Security encuentra troyanos
- Ejecución instantánea en Android Studio 2.0 (cómo desactivar)
He buscado a través del foro y desactivado ejecución instantánea, también escribir a mi build.gradle:
dexOptions { incremental true javaMaxHeapSize "6g" } ... dependencies{ compile 'com.android.support:multidex:' }
Pero no resolvió mi problema. Tengo multidex permitido en mi gradle, porque consigo el error sin él:
Com.android.dex.DexIndexOverflowException: ID del método no en [0, 0xffff]: 65536
Por lo que esta era la solución para él, y funcionó antes con las versiones anteriores de Android Studio (también trabajando para los demás en la empresa, que están usando Android Studio 1.4-2.0), pero no para mí desde que actualizé mi Android Studio.
¿Alguien tiene una idea de lo que puede causar el problema?
Lo que también es interesante que si sólo hago el proyecto no recibo el error, sólo si intento ejecutarlo. Cualquier idea es apreciada!
EDIT 1:
Lo que también es interesante, que si reinicio mi estudio de Android, que la primera ejecución es exitosa, pero la segunda no lo es.
EDIT 2:
Si establezco el tamaño de montón a más grande (como 8-10g) que la aplicación ni siquiera se compila en la primera ejecución.
EDIT 3:
Parece que el problema es con la ejecución instantánea , si forzar el estudio de Android para no usarlo (como desplegar a dos dispositivos a la vez o cambiar gradle.properties como en la respuesta) el error desaparece.
- Android Studio 2.0 ejecutar instantáneamente no funciona, pero aparecen estos consejos?
- La conexión de Android Studio ADB deja caer el dispositivo conectado por cable desde 2.2 en Macintosh
- Instant run Android studio 2.2 Nunca recibo hotswap siempre reiniciar y la notificación Cambio de tipo de campo
- Instant Run ejecutó una compilación e instalación completas ya que la instalación en el dispositivo no coincide con la compilación local en el disco
- Android Instant Ejecutar compilaciones lentas
- ¿Cómo dividir los APK divididos creados mientras se usa instant-run, dentro del propio Android?
- La Interfaz de JavaScript de WebView sólo parece funcionar a través de Instant-Run de Android Studio, pero no cuando se compila a través de gradle regular
- No se puede instanciar la actividad ... No encontró la clase WelcomeActivity en la ruta: DexPathList (con ejecución instantánea)
Añada esto al archivo gradle.properties
.
# The Gradle daemon aims to improve the startup and execution time of Gradle. # When set to true the Gradle daemon is to run the build. org.gradle.daemon=true # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx10248m -XX:MaxPermSize=256m org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects org.gradle.parallel=true # Enables new incubating mode that makes Gradle selective when configuring projects. # Only relevant projects are configured which results in faster builds for large multi-projects. # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand org.gradle.configureondemand=true
Encontrado aquí
Y en mi build.gradle
:
.... dexOptions { incremental false javaMaxHeapSize "2048M" preDexLibraries = false }//end dexOptions ....
Paso1: Cambiar build.grade
defaultConfig { ... // Enabling multidex support. multiDexEnabled true } dependencies { ... compile 'com.android.support:multidex:1.0.0' }
Paso 2: Configuración en la clase Aplicación
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); MultiDex.install(this); } }
Paso 3: Cambiar grade.properties
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
¡Funcionará!. Gracias.
defaultConfig { multiDexEnabled =true }
Agregue esto al archivo build.gradle de la aplicación
- ¿Cómo puedo añadir una subcarpeta a la carpeta en bruto de mi aplicación para Android?
- SSL de Android: sin certificado de nivel superior