Ich komme sehr oft aus dem Speicherproblem heraus, nachdem ich buildToolsVersion '22.0.1'
auf buildToolsVersion '23.0.1'
aktualisiert habe. Ich bin wirklich verwirrt und weiß nicht, wie ich dieses Problem lösen soll, da dieser Fehler nur mit buildTools
Version 23.0.1
angezeigt wird. Während es gut funktioniert, wenn ich es in 22.0.1
ändere. Bitte hilf mir. Ich poste den Fehler, den ich bekomme, wie folgt:
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.Android.build.transform.api.TransformException: com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_25\bin\Java.exe'' finished with non-zero exit value 1
build.gradle
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 23
buildToolsVersion '23.0.1'
defaultConfig {
applicationId "com.example.app"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
// Enabling multidex support.
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.Android.support:appcompat-v7:23.0.1'
compile 'com.Android.support:support-v4:23.0.1'
compile 'com.Android.support:design:23.0.0'
compile 'com.Android.support:cardview-v7:23.0.1'
compile 'com.Android.support:recyclerview-v7:23.0.1'
compile 'com.Android.support:palette-v7:23.0.1'
compile 'com.google.Android.gms:play-services:7.5.0'
}
Danke im Voraus.
Fügen Sie dies Ihrem Android-Abschluss in Ihrer build.gradle -Datei hinzu:
dexOptions {
javaMaxHeapSize "4g"
}
Die akzeptierte Antwort funktioniert, aber ich war etwas verwirrt, wo ich die dexOptions
in meinem build.gradle
ablegen sollte. Wir haben es eigentlich unter Android gestellt.
Hier ist ein Beispielausschnitt:
Android {
dexOptions {
javaMaxHeapSize "4g"
}
......
}
Eigentlich arbeitete für mich eine komplexere Lösung, die alle von oben kombinierte und Multidex in der Datei build.gradle für das Modul aktiviert.
A. Fügen Sie diese Zeile im Abschnitt defaultConfig hinzu, um multiDex zu aktivieren
// Enabling multidex support.
multiDexEnabled true
B. Dann stellen Sie die dexOptions so ein:
dexOptions {
incremental true
javaMaxHeapSize "4G"
}
C. Nach dem Wechsel zu Multidex und dem Setzen des Heapspeichers auf 4 g kann ein Überlauffehler auftreten, der dazu führt, dass die jvmargs-Zeile aus der Datei gradle.properties des Projekts kommentiert und geändert wird.
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Die Werte können sich je nach Maschine unterscheiden. Sie können auch doppelte Werte verwenden.
Zusätzlich zum obigen Verfahren gibt es eine weitere Option zum Festlegen von Jvm-Argumenten.
org.gradle.jvmargs="-Xms2g -Xmx4g" in gradle.properties .
Die Einstellung dient zum Einstellen des Speichers. Xms: Startspeicher Xmx: Maximaler Speicher
Ich habe dieses Problem gelöst
Ich denke, es wird auch für Sie hilfreich sein, wenn es diese Antwort lohnt.
dexOptions {
javaMaxHeapSize "4g"
}
Ich war mit dem gleichen Problem konfrontiert, als ich dies in build.gradle (Modulebene) hinzugefügt habe