android studio 3.5 警告:规则`-keep public class * extends androidx.versionedparcelable.VersionedParcelable { <init>(); }` 使用扩展

android studio 3.5 Warning: The rule `-keep public class * extends androidx.versionedparcelable.VersionedParcelable { <init>(); }` uses extends

今天,我将 Android Studio 更新到 3.5。更新后,当我尝试 运行 应用程序时发现以下警告。

The rule -keep public class * extends androidx.versionedparcelable.VersionedParcelable { (); } uses extends but actually matches implements.

我知道警告与我的 proguard 规则有关。所以,我仔细检查了我的 proguard 规则文件,但我确定我没有添加该规则,它不在我的 proguard 规则文件中。

下面是我建工程时的警告

我的项目正在使用 AndroidX。谁能知道可以跳过警告或警告来自哪里?任何想法或替代方法将不胜感激..

这是 versionedparcelable.aar 版本 1.0.0 中 proguard.txt 文件中的错误。这已在 1.1.0 版中修复,但是,如果您没有使用依赖于新版本的库,您将在 Android Studio 3.5 中收到此警告。

在版本 1.0.0 中,proguard.txt 文件包含以下行:

-keep public class * extends androidx.versionedparcelable.VersionedParcelable

这已在 1.1.0 版中修复:

-keep public class * implements androidx.versionedparcelable.VersionedParcelable

要绕过此问题,您可以通过在 build.gradle 中添加以下行来强制使用最新版本:

implementation "androidx.versionedparcelable:versionedparcelable:1.1.0"

为什么不为那个项目这样做:

  1. 在 "build.gradle (Module: app)" 文件中禁用缩小:
minifyEnabled false
  1. 并且你使用proguard进行优化,比如:
proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt')