R8 问题:由于错误 GC overhead limit exceeded,无法设置 Proguard minifyEnabled
R8 issue: Unable to set up Proguard minifyEnabled because of error GC overhead limit exceeded
使用 minifyEnabled true
选项生成发布包时出错。这是给我错误的 Gradle 设置:
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
我还看到任务 transformClassesAndResourcesWithR8For... 花费了太多时间(最多 10-20 分钟)
错误:
java.lang.OutOfMemoryError: GC overhead limit exceeded
在 Gradle 任务中 transformClassesAndResourcesWithR8ForCommonRelease
R8 是来自 Google 的新代码收缩器。如果您使用的是 Gradle 插件版本 3.4.0 及以上,R8 默认开启。
出现此问题是因为 R8 和 Proguard 无法正常协同工作。
添加行到 gradle.properties 修复它。
android.enableR8=false
此外,您可能会发现此信息很有用https://www.reddit.com/r/androiddev/comments/bae6ny/r8_and_proguard/ekb4m7d/
代替关闭 R8 的解决方案是将 gradle 守护程序的 JVM 堆大小增加 adding/changing gradle.properties
中 org.gradle.jvmargs
的值(在Adroid Studio 项目的根目录):
org.gradle.jvmargs=-Xmx2G
如果这还不够,请尝试使用 4G。 R8内存占用一直在增长,3.4部分应用出现OOM问题
使用 minifyEnabled true
选项生成发布包时出错。这是给我错误的 Gradle 设置:
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
我还看到任务 transformClassesAndResourcesWithR8For... 花费了太多时间(最多 10-20 分钟)
错误:
java.lang.OutOfMemoryError: GC overhead limit exceeded
在 Gradle 任务中 transformClassesAndResourcesWithR8ForCommonRelease
R8 是来自 Google 的新代码收缩器。如果您使用的是 Gradle 插件版本 3.4.0 及以上,R8 默认开启。
出现此问题是因为 R8 和 Proguard 无法正常协同工作。 添加行到 gradle.properties 修复它。
android.enableR8=false
此外,您可能会发现此信息很有用https://www.reddit.com/r/androiddev/comments/bae6ny/r8_and_proguard/ekb4m7d/
代替关闭 R8 的解决方案是将 gradle 守护程序的 JVM 堆大小增加 adding/changing gradle.properties
中 org.gradle.jvmargs
的值(在Adroid Studio 项目的根目录):
org.gradle.jvmargs=-Xmx2G
如果这还不够,请尝试使用 4G。 R8内存占用一直在增长,3.4部分应用出现OOM问题