谷歌播放服务中的SecurityException?

Posted

技术标签:

【中文标题】谷歌播放服务中的SecurityException?【英文标题】:SecurityException in google play services? 【发布时间】:2017-06-06 19:38:09 【问题描述】:
Fatal Exception: java.lang.SecurityException: Unknown calling package name 'com.my.package.name'.
       at android.os.Parcel.readException(Parcel.java:1546)
       at android.os.Parcel.readException(Parcel.java:1499)
       at com.google.android.gms.common.internal.zzv$zza$zza.zza(Unknown Source)
       at com.google.android.gms.common.internal.zzf.zza(Unknown Source)
       at com.google.android.gms.internal.zzaaj$zzc.zzvA(Unknown Source)
       at com.google.android.gms.internal.zzaaj$zzf.run(Unknown Source)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
       at com.google.android.gms.internal.zzacv.run(Unknown Source)
       at java.lang.Thread.run(Thread.java:818)   

最近在 google play 服务中看到了 securityException。此崩溃发生在 Android 4.4、5.0、6.0 中。

以前有人遇到过这个问题吗?

【问题讨论】:

【参考方案1】:

SecurityException 通常由安全管理器抛出以指示安全违规。如果Google Play services client library 版本高于 8.1,如果 AndroidManifest.xml 中缺少所需的运行时权限,应用程序将引发安全异常。如果有帮助,您可以查看此GitHub thread。

类似的issue 也已发布。如果您认为这是一个错误,您可以提交此link,以便工程师进行调查。

【讨论】:

感谢您分享您最初的想法。首先,我们不能 100% 确定这次崩溃到底发生在哪里。堆栈跟踪只是告诉 google play 服务包名称。在我们切换到最新的 google play services 10.0.1 和最新的支持库版本 25.1.0 后,此问题开始出现。所以考虑将这些库降级到以前的版本,看看它是否有帮助。我不确定这是否会由于运行时权限模型而发生,因为在以前的 android 版本中也发生了同样的崩溃。也许 google play 服务团队更了解这一点。

以上是关于谷歌播放服务中的SecurityException?的主要内容,如果未能解决你的问题,请参考以下文章

Android SecurityException: getDataNetworkTypeForSubscriber问题修复

Android SecurityException: getDataNetworkTypeForSubscriber问题修复

如何解决谷歌播放服务错误

SecurityException 华为手机

以编程方式打开我的应用程序的谷歌播放服务页面[重复]

谷歌浏览器 如何关掉网页自动播放视频