在Android Studio中更新buildToolsVersion '23 .0.1'后出现内存不足问题
我在更新buildToolsVersion '22.0.1'
到buildToolsVersion '23.0.1'
后经常出现内存不足的问题,我真的很困惑,不知道如何解决这个问题,因为这个错误只显示buildTools
版本23.0.1
。 而当我将其更改为22.0.1
时,它工作正常。 请帮帮我。 我发布的错误,我得到如下,
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' }
提前致谢。
把这个添加到你的build.gradle文件中的android闭包中:
dexOptions { javaMaxHeapSize "4g" }
Android Studio Google JAR文件导致GC开销限制超出错误
被接受的答案有效,但是我对将dexOptions
放到dexOptions
的位置感到困惑。 我们实际上把它放在android部分下面。
以下是示例代码片段:
android { dexOptions { javaMaxHeapSize "4g" } ...... }
实际上,对于我来说,使用了一个更复杂的解决scheme,它将上面的所有内容结合在一起,并在模块的build.gradle文件中启用multidex。
A.在defaultConfig部分添加此行以启用multiDex
// Enabling multidex support. multiDexEnabled true
B.设置dexOptions ,如下所示:
dexOptions { incremental true javaMaxHeapSize "4G" }
C.更改为multidex并将堆设置为4g后,可能会发生溢出错误,导致我从项目的gradle.properties文件中取消注释并修改jvmargs行,如:
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
这些值可能因您的机器而异。 你也可以使用double值。
除上述过程外,还有另外一个选项来设置jvm参数。
org.gradle.jvmargs="-Xms2g -Xmx4g" in gradle.properties .
该设置用于调整内存。 Xms:启动内存Xmx:最大内存
我解决了这个问题
- 去“系统”
- 环境设置Adwanced
- 将_JAVA_OPTIONS值从“-Xms1024m”编辑为“-Xms2048m”
(如果不存在_JAVA_OPTIONS比创build它点击新buildbutton) - 确定并保存重新启动
我认为这对你也是有帮助的。 如果它有用upvote这个答案。