Ich bin immer sehr oft von Speicherproblem heraus nach der Aktualisierung buildToolsVersion '22.0.1'
auf buildToolsVersion '23.0.1'
mir wirklich bin verwirrt und weiß nicht , wie dieses Problem zu lösen, da dieser Fehler nur bei zeigt buildTools
Version 23.0.1
. Während es gut funktioniert, wenn ich es ändere 22.0.1
. 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.
Die akzeptierte Antwort funktioniert, aber ich war ein bisschen verwirrt darüber, wo ich die
dexOptions
in meine stecken sollbuild.gradle
. Wir haben es tatsächlich unter den Android-Bereich gestellt.Hier ist ein Beispielausschnitt:
android { dexOptions { javaMaxHeapSize "4g" } ...... }
quelle
Eigentlich arbeitete für mich eine komplexere Lösung, die alles von oben kombiniert und Multidex in der build.gradle- Datei 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 setzen Sie die DexOptions wie folgt :
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 ich die jvmargs-Zeile aus der Datei gradle.properties des Projekts auskommentiere und ändere, z.
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Die Werte können je nach Maschine unterschiedlich sein. Sie können auch doppelte Werte verwenden.
quelle
Zusätzlich zu der obigen Prozedur gibt es eine weitere Option zum Festlegen von JVM-Argumenten.
org.gradle.jvmargs="-Xms2g -Xmx4g" in gradle.properties .
Die Einstellung dient zum Optimieren des Speichers. Xms: Startspeicher Xmx: Maximaler Speicher
quelle
Ich habe dieses Problem gelöst
(falls nicht _JAVA_OPTIONS vorhanden, erstellen Sie sie, indem Sie auf die Schaltfläche "Neu" klicken).
Ich denke, es wird auch für Sie hilfreich sein. Wenn es nützlich ist, stimmen Sie dieser Antwort zu.
quelle
dexOptions { javaMaxHeapSize "4g" }
Ich hatte das gleiche Problem, indem ich dies in die Datei build.gradle (Modulebene) einfügte, um mein Problem zu lösen
quelle
Verwenden Sie dies in Ihrer App-Ebene build.gradle:
android { dexOptions { javaMaxHeapSize "4g" } }
quelle