GC overhead limit exceeded when enable R8 Shrinker in Android Studio 3.4

一世执手 提交于 2020-01-01 08:03:53

问题


I'm using Android Studio 3.4 (Canary 9), when I build my app, it failed with the following error

Task :app:transformClassesAndResourcesWithR8ForDebug

R8 is an experimental feature. If you experience any issues, please file a bug at https://issuetracker.google.com, using 'Shrinker (R8)' as component name. You can disable R8 by updating gradle.properties with 'android.enableR8=false'.

AGPBI: {"kind":"warning","text":"Missing class: java.lang.instrument.ClassFileTransformer","sources":[{}],"tool":"D8"}

Task :app:transformClassesAndResourcesWithR8ForDebug FAILED

FAILURE: Build failed with an exception.

  • What went wrong: Execution failed for task ':app:transformClassesAndResourcesWithR8ForDebug'.

GC overhead limit exceeded

When I disable R8 by putting android.enableR8=false into gradle.properties. Everything is working fine.

So how can I fix this error without disable R8 Shrinker? Because I'm really want to test functionality of R8.


回答1:


As you said you are not using any custom JVM args, try it out.

In your gradle.properties file try several values for memory settings. For example try to set

org.gradle.jvmargs=-Xmx4096m

As suggested by the commented section:

Specifies the JVM arguments used for the daemon process.

The setting is particularly useful for tweaking memory settings.

org.gradle.jvmargs=-Xmx1536m

I've used R8 in my project and all worked fine.



来源:https://stackoverflow.com/questions/54162015/gc-overhead-limit-exceeded-when-enable-r8-shrinker-in-android-studio-3-4

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!