我刚刚将Android Studio升级到3.5.0版本,正在构建时出现了“Expiring Daemon because JVM heap space is exhausted”错误提示。此外,构建所需时间更长了。有没有人知道这个错误的原因并可以帮助我解决?
我刚刚将Android Studio升级到3.5.0版本,正在构建时出现了“Expiring Daemon because JVM heap space is exhausted”错误提示。此外,构建所需时间更长了。有没有人知道这个错误的原因并可以帮助我解决?
我曾遇到同样的问题,下面的答案有所帮助,不过需要根据 React Native 进行适当修改。
https://dev59.com/tFMI5IYBdhLWcg3wfrls#57548822
请将你的 gradle.properties
修改为以下内容:
android.useAndroidX=true
android.enableJetifier=true
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
请在你的app/build.gradle
文件中的android任务下添加以下内容:
android {
dexOptions {
javaMaxHeapSize "4g"
}
}
当您向应用程序添加更多模块时,会对Android构建系统产生巨大的需求,而默认的内存设置将无法工作。为避免在Android构建过程中出现OutOfMemoryErrors,请取消注释位于/android/gradle.properties中的替代gradle内存设置:
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
经过尝试以下几种解决方案,以下代码最终解决了错误
在gradle.properties
中添加以下内容
org.gradle.daemon=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx1028m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
android: {
...
dexOptions {
javaMaxHeapSize: "4g"
}
}
在android/gradle.properties中添加以下内容:
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx4096m
dexOptions {
javaMaxHeapSize "4g"
}
而不是:dexOptions {
javaMaxHeapSize: "4g"
}
请注意:冒号(:)不应该出现在代码中。否则,你会得到一个错误:“如果尝试配置名为'javaMaxHeapSize'的属性,请将':'替换为'='或' ',否则它将无法产生所需的效果。” - Lalit Sharma只需在gradle-wrapper-properties
中添加此行:
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
这里的-Xmx4g将提供4Gb的dex大小,与javaMaxHeapSize相同。XX:MaxPermSize是要分配的永久堆大小。