带插孔的内存不足

时间:2016-05-08 10:54:48

标签: android out-of-memory jack-compiler

我正在测试新的编译链以开始使用lambdas。

我的build.gradle文件包含:

android {
    ...
    compileSdkVersion 23
    buildToolsVersion "24 rc3"

    dexOptions {
        jumboMode true
    }

    defaultConfig {
        applicationId "my.app.id"
        minSdkVersion 14
        targetSdkVersion 23
        multiDexEnabled true

        jackOptions {
            enabled true
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

我正在使用Android Studio 2.1.1。

当我构建应用程序时,编译需要很长时间,然后以内存不足错误结束:

  

任务执行失败   ':应用程序:compileAppNameJavaWithJack'

     
    

java.lang.RuntimeException:java.lang.OutOfMemoryError:超出GC开销限制

  

有时编译只会在执行时挂起:

:app:compileMyAppNameDebugJavaWithJack

我发现in the troubleshooting section here有一种方法可以修复它,但我找不到配置的.jack文件。 在this bug report中有人提到该文件可能已重命名为jack.settings但我找不到该文件。

你知道文件的位置吗?你知道如何修复Out of memory错误吗?

2 个答案:

答案 0 :(得分:3)

我设法修复了问题设置:

org.gradle.jvmargs=-Xmx2048M

gradle.properties文件

检查here以获取有关设置的更多信息

答案 1 :(得分:0)

另见这个问题,它为我解决了这个问题:

Android source code compile error: "Try increasing heap size with java option '-Xmx<size>'"

我发现,当我的构建完成时,jack的虚拟大小约为8G。