更新到android gradle插件3.5后的proguard问题

Mis*_*rdi 6 android proguard gradle android-studio android-gradle-plugin

我将json某些对象的表示形式保存为应用程序中的缓存。更新应用程序的每个发行版之后我都没有问题,并且json对象已正确转换为Java对象。更新到android gradle plugin 3.5之后(添加此行):

classpath 'com.android.tools.build:gradle:3.5.0'
Run Code Online (Sandbox Code Playgroud)

当我创建发行版apk时,似乎无法将json字符串转换为java对象,并且混淆的名称似乎已更改。当我将其还原到gradle插件3.4.2时,一切正常。那么问题是什么,我该如何解决?

Bha*_*hah 6

我也遇到了同样的错误。

我发现这是用于减少应用程序大小的 enabledR8 错误。

它是真正的预定义。所以通过设置值,一个错误的错误消失了。


在 gradle.properties 文件中将其值设为 r8 的 false。

android.enableR8=假


Mis*_*rdi 5

我应该从混淆中排除缓存的对象,但我暂时禁用R8并启用了混淆器,方法是将这一行添加到gradle.properties文件中:

android.enableR8=false
Run Code Online (Sandbox Code Playgroud)

并将此行添加到应用程序build.gradle文件中:

useProguard true
minifyEnabled true
Run Code Online (Sandbox Code Playgroud)

问题解决了。