在为我的react native项目发布版本时出现此错误:
Expiring Daemon because JVM heap space is exhausted
> Task :app:transformDexArchiveWithDexMergerForRelease FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformDexArchiveWithDexMergerForRelease'.
> java.lang.OutOfMemoryError (no error message)
进行了一些研究并做出了一些更改,如下所示:
android:largeHeap="true"
已添加
javaMaxHeapSize "4g"
} ```
in the android/app/build.gradle file.
将以下代码添加到gradle.properties
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true```
仍然无法消除此错误。任何永久性的方法可以摆脱此错误,以及它是怎么引起的?
答案 0 :(得分:1)
配置gradle.properties:
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
答案 1 :(得分:0)
尽管给出的答案对我不起作用,但它确实引导我走向了正确的道路。有时构建会通过,但一段时间后再次出现此错误,以便一劳永逸地解决它:
在项目的 gradle 属性中的第一个注释 org.gradle.jvmargs=-Xmx4096m
。
在您的 app/build.gradle 中添加以下内容:
android {
dexOptions {
javaMaxHeapSize "4g"
}
}
现在编辑你的全局 gradle.properties for mac 它会在 Home/YOUR_USERNAME/.gradle/ 内
如果文件不存在,只需创建它并添加
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8