我正在使用Android Studio 3.4(金丝雀9),当我构建应用程序时,它失败并出现以下错误
任务:app:transformClassesAndResourcesWithR8ForDebug
R8是 实验功能。如果遇到任何问题,请提交错误 在https://issuetracker.google.com,使用“收缩器(R8)”作为组件 名称。您可以通过使用以下命令更新gradle.properties来禁用R8: ‘android.enableR8 = false’。
AGPBI:{“种类”:“警告”,“文本”:“缺少类别: java.lang.instrument.ClassFileTransformer“,”源“:[{}],”工具“:” D8“}
任务:app:transformClassesAndResourcesWithR8ForDebug失败
失败:构建失败,并出现异常。
- 出了什么问题:任务':app:transformClassesAndResourcesWithR8ForDebug'的执行失败。
超出了GC开销限制
当我通过将android.enableR8=false
放入 gradle.properties 来禁用R8时。一切正常。
那么如何在不禁用R8 Shrinker的情况下解决此错误?因为我真的很想测试R8的功能。
答案 0 :(得分:6)
正如您所说的,您没有使用任何自定义的jvs arg,请尝试一下。
在@media (min-width: 576px) {
.container{
max-width:100% !important;
}
}
文件中,尝试memory settings的多个值。例如,尝试设置
gradle.properties
如评论部分所建议:
指定用于守护进程的JVM参数。
该设置对于调整内存设置特别有用。
org.gradle.jvmargs = -Xmx1536m
我在项目中使用了R8,并且一切正常。
答案 1 :(得分:1)
有时添加JVM堆内存并不能解决问题,尤其是在内存有限的系统上,还会导致其他问题。我的建议是尝试更换垃圾收集器。
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC
超出 GC 开销限制是 Java 8 垃圾收集器(并行)默认抛出的异常。就我而言,它解决了问题。