使用 EncryptedSharedPreferences 时是否应该使用任何 proguard 规则?

Is there any proguard rules should use while using EncryptedSharedPreferences?

在使用 EncryptedSharedPreferences 之前,我的应用程序在 release 模式下运行良好(minifyEnabled = true),添加 security library 之后(版本 1.0.0-rc01) 我的应用程序打开时应用程序崩溃,如果我使用 (minifyEnabled = false) 应用程序工作正常,我想我缺少一些东西来添加它 proguard-rules.pro 但我搜索了很多没有找到任何东西。

Tink 混淆似乎有问题。我当前的解决方法是将此规则添加到混淆器中:

-keep class com.google.crypto.tink.** { *; }

但也会跟踪问题 here 的更新。

更新 - 2020 年 1 月 6 日

有更有效的解决方法(感谢@jtsalva指出):

-keepclassmembers class * extends com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite {
  <fields>;
}

更新 - 2020 年 8 月 19 日

此问题现在应该已在 Version 1.0.0-rc03

中修复

此问题已通过更有针对性的混淆器规则得到解决here

-keepclassmembers class * extends com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite {
    <fields>;
}

与当前接受的答案相比,这使我的应用程序节省了 ~0.2MB

以上我都试过了。不适合我的情况。 这就是我所做的并且工作完美:

-keepclassmembers class * extends com.google** {
    <fields>; }