GoogleAuthUtil.getToken SecurityException

时间:2013-11-06 15:59:55

标签: android google-play-services

尝试调用GoogleAuthUtil.getToken(args)时,我在使用最新Google Play服务的ICS设备上遇到此故障。通过删除Google帐户并将其添加到手机中解决了该问题。我无法重现错误。谷歌搜索堆栈跟踪没有提供任何见解。关于如何防止这个问题以及它意味着什么的任何想法都值得赞赏!

W/System.err( 3145): java.lang.SecurityException: Permission Denial: reading com.google.android.gsf.gservices.GservicesProvider uri content://com.google.android.gsf.gservices/prefix from pid=3145, uid=10055 requires com.google.android.providers.gsf.permission.READ_GSERVICES
W/System.err( 3145):    at android.os.Parcel.readException(Parcel.java:1327)
W/System.err( 3145):    at android.os.Parcel.readException(Parcel.java:1281)
W/System.err( 3145):    at com.google.android.gms.internal.a$a$a.a(Unknown Source)
W/System.err( 3145):    at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
W/System.err( 3145):    at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
W/System.err( 3145):    at com.xxxxx.Backend.obtainSheetKeyAndInitService(Backend.java:112)
W/System.err( 3145):    at com.xxxxx.Backend.fetchColumns(Backend.java:103)
W/System.err( 3145):    at com.xxxxx.ProgressActivity$DummySectionFragment$3.doInBackground(ProgressActivity.java:288)
W/System.err( 3145):    at com.xxxxx.ProgressActivity$DummySectionFragment$3.doInBackground(ProgressActivity.java:1)
W/System.err( 3145):    at android.os.AsyncTask$2.call(AsyncTask.java:264)
W/System.err( 3145):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
W/System.err( 3145):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
W/System.err( 3145):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
W/System.err( 3145):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
W/System.err( 3145):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
W/System.err( 3145):    at java.lang.Thread.run(Thread.java:856)

修改

截至报告错误的时间:

  • google_play_services-lib android:versionName =“3.2.65(834000-30)”
  • 设备4.0.31上的Google Play服务版

将库更新到4.0.30并向Manifest添加了所请求的权限,这似乎有效。等待Google确认新版本库修复了此问题,因为添加新权限是一项非常不受欢迎的修复。

错误报告:http://code.google.com/p/android/issues/detail?id=61934

2 个答案:

答案 0 :(得分:2)

你应该添加

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

AndroidManifest.xml文件。多数民众赞成。

答案 1 :(得分:2)

今天2013-11-14,由于此例外,我们收到的错误报告数量大幅下降。另外我看到谷歌播放服务版本4.0.33已经发布,我没有注意到发布的时间,但它看起来像昨天。

也许谷歌在4.0.33发布了一个修复程序?那太好了!

如果有人能够重现此错误,请告知我们4.0.33是否适合您。 (我们从来没有能够在开发设备上重现该错误,尽管我们已经安装了数十亿条跟踪。)

[更新]谷歌肯定推出了一个解决方案,我们在11月15日只有少数报告,在11月16日只有零