应用程序(版本 1),使用 AccountManager 创建了一个用于保存身份验证令牌的帐户。一切正常,能够获取和刷新 Auth 令牌
发送了 App 的更新(版本 2),AccountManager 代码没有变化。我可以看到大约 1% 的用户崩溃。
检查了我的代码,验证器 xml 或帐户常量没有问题。我的应用不在 Playstore 上,使用 amazon s3 推出更新。
我在 Fabric 中看到的堆栈跟踪如下:-
10-04 19:28:03.484 E/AndroidRuntime(26436): FATAL EXCEPTION: main
10-04 19:28:03.484 E/AndroidRuntime(26436): Process: com.xyz.com, PID: 26436
10-04 19:28:03.484 E/AndroidRuntime(26436): java.lang.SecurityException: 10551 caller uid is different than the authenticator's uid
10-04 19:28:03.484 E/AndroidRuntime(26436): at android.os.Parcel.readException(Parcel.java:1540)
10-04 19:28:03.484 E/AndroidRuntime(26436): at android.os.Parcel.readException(Parcel.java:1493)
10-04 19:28:03.484 E/AndroidRuntime(26436): at android.accounts.IAccountManager$Stub$Proxy.peekAuthToken(IAccountManager.java:904)
10-04 19:28:03.484 E/AndroidRuntime(26436): at android.accounts.AccountManager.peekAuthToken(AccountManager.java:838)*