带有google protobuf的Androidx.security

问题描述 投票:1回答:1

我想在我的应用中实现androidx.security,以便对我的sharedpreferences进行加密。

我在构建依赖项时没有什么问题,但最终该应用程序运行了。

然后,当我来到我的EncryptedSharedPreferences.create行时,出现以下错误:

java.lang.NoSuchMethodError: No static method registerDefaultInstance(Ljava/lang/Class;Lcom/google/protobuf/GeneratedMessageLite;)V in class Lcom/google/protobuf/GeneratedMessageLite; or its super classes (declaration of 'com.google.protobuf.GeneratedMessageLite' appears in /data/app/com.example.myapp-1/base.apk:classes3.dex)
    at com.google.crypto.tink.proto.AesSivKeyFormat.<clinit>(AesSivKeyFormat.java:248)
    at com.google.crypto.tink.proto.AesSivKeyFormat.newBuilder(AesSivKeyFormat.java:129)
    at com.google.crypto.tink.daead.DeterministicAeadKeyTemplates.createAesSivKeyTemplate(DeterministicAeadKeyTemplates.java:45)
    at com.google.crypto.tink.daead.DeterministicAeadKeyTemplates.<clinit>(DeterministicAeadKeyTemplates.java:38)
    at androidx.security.crypto.EncryptedSharedPreferences$PrefKeyEncryptionScheme.<clinit>(EncryptedSharedPreferences.java:146)
    at com.example.myapp.SignInActivity.lambda$null$1$SignInActivity(SignInActivity.java:129)
    at com.example.myapp.-$$Lambda$SignInActivity$j5WyCkLUVlBZT6WQVBcMkDLDozQ.onComplete(lambda)
    at com.google.android.gms.tasks.zzj.run(Unknown Source)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6077)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)

任何想法如何解决这个问题?

我很确定这是因为我使用过

exclude group: "com.google.protobuf", module: "protobuf-javalite"

在我的build.gradle中使androidx.security工作,但找不到其他解决方案。

谢谢

java protocol-buffers androidx
1个回答
0
投票

此问题已在版本1.0.0-rc02中解决。

参见:https://developer.android.com/jetpack/androidx/releases/security

© www.soinside.com 2019 - 2024. All rights reserved.