三星 Galaxy S8 设备上的安全异常



根据Crashlytics,我们Android应用程序的特定用户群经历了以下崩溃。

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bundle.id/com.bundle.id.MainActivity}: java.lang.SecurityException: uid 10346 cannot get secrets for accounts of type: com.osp.app.signin
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2955)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030)
       at android.app.ActivityThread.-wrap11(Unknown Source)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
       at android.os.Handler.dispatchMessage(Handler.java:105)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6938)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

我们用谷歌搜索,搜索,试图复制,但没有任何成功。根据Crashlytics的说法,它只发生在三星Galaxy S8设备上。

我们已经用一个测试过,但它工作得很好。以前有没有人见过此错误或知道什么会导致此错误?这真的很令人沮丧。

不确定 OP 的问题是什么,但我遇到了同样的崩溃,事实证明问题是我从addOnAccountsUpdatedListener那里获得了Account对象。 在大多数设备上,您从该 API 获取的列表会按您的帐户类型进行过滤。 在某些三星设备上,它还包括手机上的三星帐户(如果已设置(。 解决方法:

    accountManager.addOnAccountsUpdatedListener({ accounts ->
      // Samsung is great: it sends us updates on Samsung accounts even though the accountType
      // doesn't match.
      val ourUpdatedAccounts = accounts.filter { account -> account.type == myAccountType }
      // do something with ourUpdatedAccounts
    }, Handler(), false)

最新更新