在Android studio中更新buildToolsVersion '23 .0.1'后出现内存问题

Cha*_*dru 74 android build-tools android-build android-studio build.gradle

我更新后经常出现内存问题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
Run Code Online (Sandbox Code Playgroud)

的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'
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

mhd*_*ati 198

将它添加到build.gradle文件中的android闭包中:

dexOptions {
    javaMaxHeapSize "4g"
}
Run Code Online (Sandbox Code Playgroud)

Android Studio Google JAR文件导致GC开销限制超出错误

  • 我有同样的问题......并在添加:javaMaxHeapSize"4g"后修复了!谢谢 (2认同)

Max*_*Max 29

接受的答案有效,但我有点担心在哪里放入dexOptions我的build.gradle.我们实际把它放在android部分下.

这是示例代码段:

android {

    dexOptions {
        javaMaxHeapSize "4g"
    }

    ......
}
Run Code Online (Sandbox Code Playgroud)


Cod*_* TG 13

实际上对我来说是一个更复杂的解决方案,它结合了以上所有内容,并在模块的build.gradle文件中启用了multidex.

A.在defaultConfig部分添加此行以启用multiDex

// Enabling multidex support.
multiDexEnabled true
Run Code Online (Sandbox Code Playgroud)

B.比设置dexOptions,如下所示:

dexOptions {
    incremental true
    javaMaxHeapSize "4G"
}
Run Code Online (Sandbox Code Playgroud)

C.更改为multidex并将堆设置为4g后,可能会发生溢出错误,导致我取消注释并修改项目的gradle.properties文件中的jvmargs行,如:

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Run Code Online (Sandbox Code Playgroud)

值可能因机器而异.您也可以使用双精度值.


Ann*_*ada 7

除了上述过程,还有另一个选项来设置 jvm 参数。

org.gradle.jvmargs="-Xms2g -Xmx4g" in gradle.properties .
Run Code Online (Sandbox Code Playgroud)

该设置用于调整内存。Xms:起始内存 Xmx:最大内存