Wie kann die maximale Heap-Größe für den Gradle-Daemon erhöht werden?

Lesezeit: 3 Minuten

Benutzeravatar von NullPointerException
NullPointerException

Beim Signieren einer apk bekam ich diese Meldung:

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

In meinem Projekt habe ich keine gradle.properties-Datei, aber ich habe eine Datei namens gradle-wrapper.properties.

Ich öffnete diese Datei und fügte die Zeile hinzu org.gradle.jvmargs=-Xmx4608M.

Danach habe ich versucht, die apk erneut zu signieren, aber ich erhalte immer noch die Meldung, dass die Größe des Gradle-Heaps erhöht wird.

Wie erreicht man das?

  • Mögliches Duplikat von Um dex in process auszuführen, benötigt der Gradle-Daemon einen größeren Heap. Es hat derzeit ca. 910 MB

    – Vidhi Dave

    23. November 2017 um 11:31 Uhr

Benutzeravatar von Pankaj Mundra
Pankaj Mundra

Wenn Sie nicht haben gradle.properties Gehen Sie dann zu Ihrem Projektordner. Dort finden Sie Gradle-Dateien. Erstellen Sie eine Textdatei und benennen Sie sie als gradle.properties entfernen .txt und fügen Sie dann den folgenden Code zu dieser Datei hinzu.

# 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

und speichern Sie es, öffnen Sie dann Ihr Projekt in Android Studio und klicken Sie auf Jetzt synchronisieren.

Ich hoffe, es wird Ihr Problem lösen, wenn nicht, lassen Sie es mich bitte wissen.

  • wenn Sie bereits haben gradle.properties Datei in android Ordner fügen Sie diese Zeile hinzu org.gradle.jvmargs=-Xmx4096m

    – Amjad

    8. Februar 2022 um 9:48 Uhr

Benutzeravatar von LazerBanana
LazerBanana

Ich weiß, dass Sie gesagt haben, dass Ihr Projekt dies nicht getan hat gradle.properties aber Sie könnten eine globale in erstellen C:\Users\user\.gradle und füge hinzu:

 org.gradle.jvmargs=-Xmx4096M

Und denken Sie daran zu rennen gradle --stop um alle vorherigen Daemons zu töten.

  • Ich habe dies vergeblich versucht. Ich habe sogar die Befehlszeilenvariable GRADLE_USER_HOME=C:\Users\\.gradle erstellt. Ich habe auch versucht, es in meine Plattform/andorid/gradle.properties zu legen, aber es verwendet weiterhin 2048 MB

    – Mark A. Rupert

    7. Januar 2019 um 4:30 Uhr


Sie können eine der folgenden Methoden ausprobieren

1) Ändern Sie die Datei gradle.properties und ändern Sie die Heap-Größe gemäß Ihren Anforderungen.

Wenn org.gradle.jvmargs=-Xmx2048M reicht dann nicht aus um zu wechseln 4096 wie gegeben

org.gradle.jvmargs=-Xmx4096M
Geben Sie hier die Bildbeschreibung ein

2) „Benutzerdefinierte VM-Optionen bearbeiten“ aus dem Hilfemenü.

Es öffnet die Datei studio.vmoptions / studio64.exe.vmoptions
Geben Sie hier die Bildbeschreibung ein

Ändern Sie den Inhalt in

-Xms128m

-Xmx4096m

-XX:MaxPermSize=1024m

-XX:ReservedCodeCacheSize=200m

-XX:+CompressedOops verwenden

Speichern Sie die Datei und starten Sie Android Studio neu.

Versuchen Sie diese Link-Antwort

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

Dies ist eine Android-Frage, aber sie erscheint für Scala ohne Speicher gradle suche trotzdem, also lass mich versuchen, einigen armen Seelen stundenlanges Suchen zu ersparen.

Scala verzweigt die JVM standardmäßig beim Kompilieren und org.gradle.jvmargs nicht darauf anwenden. Stattdessen müssen Sie die Argumente in Gradle an das Scala-Plugin übergeben. Es hängt von Ihrem speziellen Setup ab, wo das sein könnte, für mich funktioniert das:

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

Wenn Ihr Build aus mehreren Unterprojekten besteht, fügen Sie dies in die subprojects { } Block innerhalb der Hauptleitung build.gradle.

Benutzeravatar von Vidhi Dave
Vidhi Dave

Fügen Sie Ihrer build.gradle-Datei den folgenden Code hinzu.

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

Referenz : Quelle

1448700cookie-checkWie kann die maximale Heap-Größe für den Gradle-Daemon erhöht werden?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy