android - R8 问题:由于超出错误 GC 开销限制,无法设置 Proguard minifyEnabled
问题描述
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 的解决方案是通过添加/更改 in 的值(在 Adroid Studio 项目的根目录中)来提高 gradle 守护程序的 JVM 堆org.gradle.jvmargs
大小gradle.properties
:
org.gradle.jvmargs=-Xmx2G
如果这还不够,请尝试使用 4G。R8 的内存使用量一直在增长,对于 3.4,一些应用程序出现了 OOM 问题。
推荐阅读
- angular - 网络插件在 PWA 应用程序 Ionic 4 上不起作用
- ajax - ajax在IE中不传参数
- python - Python:如何在函数调用周围动态放置一个循环?
- go - Vgo build 触发“未知指令:go”?
- javascript - 自定义功能用户不醒来的角色,嵌套查询,prisma graphql
- java - 将物品收集到 Guava Multimap
- c# - 使用 IEnumerable 连接 LINQ To SQL
- yii - Yii2 RBAC 只允许管理员后台访问
- c++ - Linux上的键盘键码表
- git - git reset HEAD 文件名有什么作用?