9

在使用EncryptedSharedPreferences之前,我的应用程序在发布模式下运行良好(minifyEnabled = true),将安全库 (版本 1.0.0-rc01)添加到我的应用程序后,应用程序在打开时崩溃,如果我使用(minifyEnabled = false)应用程序工作好吧,我想我错过了一些可以在proguard-rules.pro中添加它的东西,但我搜索了很多没有找到任何东西。

4

3 回答 3

19

看起来 Tink 混淆有问题。我目前的解决方法是将此规则添加到 proguard:

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

但也在这里跟踪问题的更新。

更新 - 06.01.2020

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

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

更新 - 08.19.2020

这个问题现在应该在版本 1.0.0-rc03中修复

于 2020-04-28T16:34:27.430 回答
7

此问题已在此处通过更有针对性的 proguard 规则得到解答

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

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

于 2020-05-31T02:22:24.693 回答
0

我尝试以上所有。不适用于我的情况。 这就是我所做的和完美的工作:

-keepclassmembers class * extends com.google** {
    <fields>; }
于 2020-07-09T21:10:15.577 回答