proguard problem after updating to android gradle

2020-04-05 07:34发布

问题:

I save the json presentation of some objects as cache in my app. I had no problem after updating each release of the app and json objects was correctly converted to java objects. After updating to android gradle plugin 3.5 (Adding this line):

classpath 'com.android.tools.build:gradle:3.5.0'

When I create the release apk, It seems that it can't convert the json string to java objects and it seems that the obfuscated names has changed. When I revert it to gradle plugin 3.4.2, everything is OK. So what is the problem and how can I fix that?

回答1:

I also got the same error.

And I found that it's an error of enabledR8 which is used to reduce app size.

and It is true predefined. So by set value, a false error was gone.


Set it value false of r8 in gradle.properties file.

android.enableR8=false



回答2:

I should exclude cached objects from obfuscating but temporarily I disabled R8 and enabled proguard, by adding this line to gradle.properties file:

android.enableR8=false

And adding this line to app build.gradle file:

useProguard true
minifyEnabled true

And the problem solved.