Android studio android安全加密:java.lang.NoSuchMethodError:无静态方法aes256SivTemplate()
使用时 androidx.安全性:安全加密:1.0.0-rc01 使用新版本时,应用程序运行良好 androidx.security:security crypto:1.0.0-rc02 我得到以下信息Android studio android安全加密:java.lang.NoSuchMethodError:无静态方法aes256SivTemplate(),android-studio,androidx-security,Android Studio,Androidx Security,使用时 androidx.安全性:安全加密:1.0.0-rc01 使用新版本时,应用程序运行良好 androidx.security:security crypto:1.0.0-rc02 我得到以下信息 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.app.appm, PID: 12145 java.lang.NoSuchMethodError: No static method aes256SivTemplate()L
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.app.appm, PID: 12145
java.lang.NoSuchMethodError: No static method aes256SivTemplate()Lcom/google/crypto/tink/KeyTemplate; in class Lcom/google/crypto/tink/daead/AesSivKeyManager; or its super classes (declaration of 'com.google.crypto.tink.daead.AesSivKeyManager' appears in /data/app/com.app.appm-mak-CE5Ycx65IADcRe9FQw==/base.apk)
at androidx.security.crypto.EncryptedSharedPreferences$PrefKeyEncryptionScheme.<clinit>(EncryptedSharedPreferences.java:146)
at com.app.appm.Utils.getPrefs(Utils.java:455)
at com.app.appm.MainActivity.onCreate(MainActivity.java:184)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
I/Process: Sending signal. PID: 12145 SIG: 9
Disconnected from the target VM, address: 'localhost:8601', transport: 'socket'
这是否意味着我应该使用不同的模式?当前正在使用的SharedReferences文件怎么样?它会因此而失败,不是吗?你知道能做什么吗?谢谢此版本的库修复了以前的RC版本引起的问题。我记不清它到底是什么,但它与
tinc
库有关,并且依赖性与其他库(如Firebase)冲突
为了解决上一个问题,我必须将以下内容添加到我的build.gradle
:
allprojects {
configurations.all {
resolutionStrategy {
force("com.google.crypto.tink:tink-android:1.3.0-rc1")
}
}
}
再次移除它修复了与此处相同的崩溃。哦,很高兴知道。在本地进行测试,如果有效,我会将其标记为已回答。谢谢显然,这在模拟器上有效,但在真实设备上,即使清除缓存和数据并卸载,应用程序也无法启动…这很奇怪。。。我正在测试像素3,没有问题。原因是在生产中我有一个“minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt')),“proguard rules.pro”这就是问题的原因。在rc01中,它工作正常,但rc02失败。在这种情况下,问题更可能出在您的proguard规则上。
allprojects {
configurations.all {
resolutionStrategy {
force("com.google.crypto.tink:tink-android:1.3.0-rc1")
}
}
}