lee*_*der 7 security sharedpreferences encrypted-shared-preference
在 Android Kotlin 项目中,我使用androidx.security库基于此链接实现了 EncryptedSharedPreference 功能,并且它在调试模式下运行良好。但是在发布模式下,我不断收到此错误
java.lang.ExceptionInInitializerError
at com.package_name.i.a.f(:46)
at com.package_name.i.a.j(:52)
at com.package_name.i.a.e(:82)
at com.package_name.MyApplication.onCreate(:37)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1013)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4707)
at android.app.ActivityThread.-wrap1(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.RuntimeException: Field keySize_ for k.a.d.a.h0.u not found. Known fields are [private int k.a.d.a.h0.u.i, private static final k.a.d.a.h0.u k.a.d.a.h0.u.j, private static volatile k.a.d.a.i0.a.a1 k.a.d.a.h0.u.k]
at k.a.d.a.i0.a.v0.n0(:608)
Run Code Online (Sandbox Code Playgroud)
请分享您对如何解决此错误的想法。
此错误与 Minify Enabled 相关,这很可能会导致某些值被删除。
已经报告了一个错误,您可以在此处跟踪它:
https://issuetracker.google.com/issues/157983099
5 月 20 日的 android crypto rc2 版本出现问题。因此最好在 gradle 文件中使用 1.0.0-alpha02。请记住,请注意不在 rc.local 中的依赖项。您还可以使用 proguard 规则修复该问题(请参阅 Sebas LG 的评论)。
dependencies {
implementation "androidx.security:security-crypto:1.0.0-alpha02"
}
Run Code Online (Sandbox Code Playgroud)
官方文档: https: //developer.android.com/jetpack/androidx/releases/security
| 归档时间: |
|
| 查看次数: |
1103 次 |
| 最近记录: |