相关疑难解决方法(0)

在Android Studio 3.4中启用R8 Shrinker时,超出了GC开销限制

我正在使用Android Studio 3.4(金丝雀9),当我构建应用程序时,它失败并出现以下错误

任务:app:transformClassesAndResourcesWithR8ForDebug

R8是一项实验功能。如果您遇到任何问题,请使用“收缩器(R8)”作为组件名称,通过https://issuetracker.google.com提交错误。您可以通过使用'android.enableR8 = false'更新gradle.properties来禁用R8。

AGPBI:{“种类”:“警告”,“文本”:“缺少类:java.lang.instrument.ClassFileTransformer”,“源”:[{}],“工具”:“ D8”}

任务:app:transformClassesAndResourcesWithR8ForDebug失败

失败:构建失败,发生异常。

  • 出了什么问题:任务':app:transformClassesAndResourcesWithR8ForDebug'的执行失败。

超出了GC开销限制

当我通过把禁用R8 android.enableR8=falsegradle.properties。一切正常。

那么如何在不禁用R8 Shrinker的情况下解决此错误呢?因为我真的很想测试R8的功能。

android android-studio r8 android-studio-3.4

13
推荐指数
1
解决办法
3168
查看次数

Minify WithR8 抛出 java.lang.OutOfMemoryError:Java 堆空间

尝试使用以下命令从命令行编译我的应用程序时遇到问题:

./Project/gradlew -b ./Project/sampleapp/build.gradle assembleProd -x lint --stacktrace

但命令抛出以下错误:

Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
        at Version.fakeStackEntry(Version_2.2.71.java:0)
        at com.android.tools.r8.utils.a0.a(SourceFile:89)
        at com.android.tools.r8.R8.a(R8.java:34)
        at com.android.tools.r8.R8.run(R8.java:3)
        at com.android.builder.dexing.R8Tool.runR8(r8Tool.kt:259)
        at com.android.build.gradle.internal.tasks.R8Task$Companion.shrink(R8Task.kt:480)
        at com.android.build.gradle.internal.tasks.R8Task.doTaskAction(R8Task.kt:341)
        at com.android.build.gradle.internal.tasks.NonIncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(BaseTask.kt:63)
        at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:51)
        at com.android.build.gradle.internal.tasks.NonIncrementalTask.taskAction(NonIncrementalTask.kt:90)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
        ... 94 more
Caused by: java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)

我已经尝试了在 stackoverflow、此处此处找到的许多解决方案,但没有一个有效。

  1. 更改了 gradle.properties:
org.gradle.jvmargs=-Xms4096m -Xmx8192m -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError
Run Code Online (Sandbox Code Playgroud)
  1. 更改了 gradlew 文件以添加 JAVA_OPTS 和 GRADLE_OPTS:
DEFAULT_JVM_OPTS="-Xms4096m -Xmx8192m"
JAVA_OPTS="-Xms4096m -Xmx8192m"
GRADLE_OPTS="-Xms4096m -Xmx8192m"
Run Code Online (Sandbox Code Playgroud)
  1. 更改了 zshrc:
export …
Run Code Online (Sandbox Code Playgroud)

android jvm heap-memory kotlin

6
推荐指数
1
解决办法
3570
查看次数