3

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

我的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。

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

任务 ':app:compileAppNameJavaWithJack' 执行失败。

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

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

:app:compileMyAppNameDebugJavaWithJack

在这里的故障排除部分找到了一种修复它的方法,但我找不到.jack包含配置的文件。在此错误报告中,有人提到该文件可能已重命名为 jack.settings 但我也找不到该文件。

你知道文件在哪里吗?您知道如何解决内存不足错误吗?

4

2 回答 2

3

我设法解决了问题设置:

org.gradle.jvmargs=-Xmx2048M

gradle.properties文件中

在这里查看有关设置的更多信息

于 2016-05-14T21:55:50.483 回答
0

另请参阅这个问题,它为我解决了这个问题:

Android 源代码编译错误:“尝试使用 java 选项 '-Xmx<size>' 增加堆大小”

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

于 2017-06-07T20:18:57.380 回答