¿Cómo aumentar el tamaño máximo de almacenamiento dinámico para el demonio Gradle?

3 minutos de lectura

Avatar de usuario de NullPointerException
Excepción de puntero nulo

Al firmar un apk, recibí este mensaje:

To run dex in process, the Gradle daemon needs a larger heap.
It currently has 1024 MB.
For faster builds, increase the maximum heap size for the Gradle daemon to at least 4608 MB (based on the dexOptions.javaMaxHeapSize = 4g).
To do this set org.gradle.jvmargs=-Xmx4608M in the project gradle.properties.
For more information see https://docs.gradle.org/current/userguide/build_environment.html

En mi proyecto, no tengo un archivo gradle.properties, pero tengo un archivo llamado gradle-wrapper.properties.

Abrí ese archivo y agregué la línea org.gradle.jvmargs=-Xmx4608M.

Después de eso, traté de firmar el apk nuevamente, pero sigo recibiendo el mensaje de aumentar el tamaño del montón de Gradle.

¿Cómo lograr eso?

  • Posible duplicado de Para ejecutar dex en proceso, el demonio Gradle necesita un montón más grande. Actualmente tiene aproximadamente 910 MB

    – Vidi Dave

    23 de noviembre de 2017 a las 11:31

Avatar de usuario de Pankaj Mundra
Pankaj Mundra

si no tienes gradle.properties luego vaya a la carpeta de su proyecto, encontrará archivos gradle allí, cree un archivo de texto y asígnele el nombre gradle.properties quitando .txt y luego agregue el siguiente código a ese archivo.

# Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx4096m

# 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

y guárdelo, luego abra su proyecto en Android Studio y haga clic en sincronizar ahora.

Espero que se resuelva su problema, si no, por favor hágamelo saber.

  • de si ya tienes gradle.properties presentar en android carpeta agregar esta línea org.gradle.jvmargs=-Xmx4096m

    – Amjad

    8 de febrero de 2022 a las 9:48

Avatar de usuario de LazerBanana
LazerBanana

Sé que dijiste que tu proyecto no tiene gradle.properties pero podrías crear uno global en C:\Users\user\.gradle y añadir:

 org.gradle.jvmargs=-Xmx4096M

Y recuerda correr gradle --stop para matar a cualquier demonio anterior.

  • He intentado esto en vano. Incluso creé la variable de línea de comando GRADLE_USER_HOME=C:\Users\\.gradle. También intenté ponerlo en mi plataforma/andorid/gradle.properties pero sigue usando 2048 MB

    – Marcos A. Rupert

    7 de enero de 2019 a las 4:30


Puedes probar cualquiera de los siguientes

1) cambie el archivo gradle.properties y cambie el tamaño del montón según sus requisitos.

Si org.gradle.jvmargs=-Xmx2048M no es suficiente entonces cambie a 4096 como se indica

org.gradle.jvmargs=-Xmx4096M
ingrese la descripción de la imagen aquí

2) “Editar opciones de VM personalizadas” en el menú Ayuda.

Se abrirá el archivo studio.vmoptions / studio64.exe.vmoptions
ingrese la descripción de la imagen aquí

Cambia el contenido a

-Xms128m

-Xmx4096m

-XX:TamañoMáximoPerm=1024m

-XX: Tamaño de caché de código reservado = 200 m

-XX:+UsarComprimidoVaya

Guarde el archivo y reinicie Android Studio.

Prueba esta respuesta de enlace

dexOptions 
   {
       javaMaxHeapSize "4g"
   }
....
....
....

Esta es una pregunta de Android, pero aparece para scala sin memoria gradle busque de todos modos, así que déjeme tratar de ahorrarles horas de búsqueda a algunas pobres almas.

Scala bifurca la JVM de forma predeterminada al compilar, y org.gradle.jvmargs no lo apliques. En su lugar, debe pasar los argumentos al complemento Scala en gradle. Depende de su configuración particular sobre dónde podría estar, para mí, esto funciona:

tasks.withType(ScalaCompile) {
    configure(scalaCompileOptions.forkOptions) {
        jvmArgs = ['-Xss4m', '-Xmx2048m']
    }
}

Si su compilación se compone de varios subproyectos, colóquelo dentro del subprojects { } bloque dentro de la principal construir.gradle.

Avatar de usuario de Vidhi Dave
vidhi dave

Agregue el siguiente código a su archivo build.gradle.

 android {
     dexOptions {
     incremental true       
     javaMaxHeapSize "4g"
      }
    }

Referencia : Fuente

¿Ha sido útil esta solución?