更新到 Android Gradle 插件 3.5 后出现 Proguard 问题



我将某些对象的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 文件中将其值设置为 r8 的 false。

android.enableR8=false

我应该从模糊处理中排除缓存的对象,但暂时我禁用了R8并启用了proguard,方法是将以下行添加到文件中gradle.properties

android.enableR8=false

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

useProguard true
minifyEnabled true

问题解决了。

最新更新