更新到 android gradle 插件 3.5 后的混淆器问题

proguard problem after updating to android gradle plugin 3.5

我将某些对象的 json 表示保存为我的应用程序中的缓存。更新应用程序的每个版本后,我没有遇到任何问题,并且 json 对象已正确转换为 java 对象。更新到 android gradle 插件 3.5 后(添加此行):

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

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

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

android.enableR8=false

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

useProguard true
minifyEnabled true

问题解决了。

我也遇到了同样的错误。

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

而且这是真的预定义。所以通过设置值,假错误消失了。


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

android.enableR8=false