使用 Google Apps 帐户登录时,在 Android 上对 Google Play 游戏服务进行身份验证会导致错误
Posted
技术标签:
【中文标题】使用 Google Apps 帐户登录时,在 Android 上对 Google Play 游戏服务进行身份验证会导致错误【英文标题】:authenticating into Google Play Game Services on android results in error when signing in with Google Apps account 【发布时间】:2013-06-01 19:15:30 【问题描述】:在通过 Google+ 进行身份验证时,我在使用 Google Apps 帐户登录时遇到了“未知错误”消息。
我有多个帐户,一个是个人 gmail,另一个是 Google Apps 帐户。
通过个人 gmail 帐户登录时,一切正常。 使用谷歌应用电子邮件地址(我在开发者控制台和谷歌播放服务和谷歌 API 上注册的地址相同)登录时出现错误。
以下是 logcat 输出。有什么想法吗?
D/Prime31 (26004): beginUserInitiatedSignIn: starting new sign-in flow.D/Prime31 (26004): Connecting GamesClient.
E/GmsClient(26004): Calling connect() while still connected, missing disconnect().
D/Prime31 (26004): onConnectionFailed: result 4
D/Prime31 (26004): onConnectionFailed: since user initiated sign-in, trying to resolve problem.
D/Prime31 (26004): resolveConnectionResult: trying to resolve result: ConnectionResultstatusCode=SIGN_IN_REQUIRED, resolution=PendingIntent422add70: android.os.BinderProxy@422c87c0
D/Prime31 (26004): --------------------- result has resolution. Starting it. --------------------
I/Prime31-Proxy(26004): showing the login UI
I/ActivityManager( 506): START u0 cmp=com.google.android.gms/.games.ui.signin.SignInActivity (has extras) from pid -1
D/overlay ( 159): Set pipe=RGB1 dpy=0;
I/ActivityManager( 506): START u0 act=com.google.android.gms.common.account.CHOOSE_ACCOUNT flg=0x20000000 cmp=com.google.android.gms/.common.account.AccountPickerActivity (has extras) from pid 1244
I/ActivityManager( 506): Displayed com.phyken.wizardopstactics/com.prime31.PlayServicesProxyActivity: +763ms
I/ActivityManager( 506): Displayed com.google.android.gms/.games.ui.signin.SignInActivity: +188ms
I/ActivityManager( 506): Displayed com.google.android.gms/.common.account.AccountPickerActivity: +94ms
D/overlay ( 159): Set pipe=VG0 dpy=0; Set pipe=VG1 dpy=0;
D/overlay ( 159): Unset pipe=VG0 dpy=0; Unset pipe=VG1 dpy=0; Unset pipe=RGB1 dpy=0;
D/alsa_ucm( 162): snd_use_case_set(): uc_mgr 0x417b5d58 identifier _verb value Inactive
D/alsa_ucm( 162): Set mixer controls for HiFi Lowlatency enable 0
D/alsa_ucm( 162): snd_use_case_set(): uc_mgr 0x417b5d58 identifier _disdev value DMIC Endfire TMUS
D/alsa_ucm( 162): disdev: device DMIC Endfire TMUS not enabled, no need to disable
D/alsa_ucm( 162): snd_use_case_set(): uc_mgr 0x417b5d58 identifier _disdev value Speaker
D/alsa_ucm( 162): Set mixer controls for Speaker enable 0
I/ActivityManager( 506): Start proc com.google.android.apps.maps:GoogleLocationService for service com.google.android.apps.maps/com.google.android.location.internal.server.GoogleLocationService: pid=2063 uid=10039 gids=50039, 3003, 1015, 1028
D/dalvikvm( 2063): GC_CONCURRENT freed 206K, 3% free 8925K/9164K, paused 5ms+1ms, total 37ms
D/dalvikvm( 2063): WAIT_FOR_CONCURRENT_GC blocked 23ms
D/dalvikvm( 2063): GC_FOR_ALLOC freed 125K, 4% free 9016K/9388K, paused 11ms, total 11ms
I/dalvikvm-heap( 2063): Grow heap (frag case) to 9.006MB for 186718-byte allocation
D/dalvikvm( 2063): GC_FOR_ALLOC freed <1K, 4% free 9198K/9572K, paused 13ms, total 13ms
D/dalvikvm( 2063): GC_CONCURRENT freed 471K, 6% free 9114K/9616K, paused 3ms+3ms, total 17ms
D/dalvikvm( 2063): GC_CONCURRENT freed 131K, 2% free 9481K/9644K, paused 1ms+2ms, total 23ms
W/ActivityManager( 506): Permission denied: checkComponentPermission() owningUid=10023
W/BroadcastQueue( 506): Permission Denial: broadcasting Intent act=com.google.android.location.internal.server.ACTION_RESTARTED flg=0x10 from com.google.android.apps.maps (pid=2063, uid=10039) is not exported from uid 10023 due to receiver com.google.android.gms/com.google.android.location.reporting.service.ExternalChangeReceiver
I/ActivityManager( 506): Start proc com.google.android.apps.maps:FriendService for broadcast com.google.android.apps.maps/com.google.googlenav.friend.android.ServiceReceiver: pid=2088 uid=10039 gids=50039, 3003, 1015, 1028
D/dalvikvm( 2063): GC_CONCURRENT freed 770K, 9% free 9126K/9936K, paused 2ms+12ms, total 39ms
I/dalvikvm( 2063): Total arena pages for JIT: 11
I/dalvikvm( 2063): Total arena pages for JIT: 12
I/dalvikvm( 2063): Total arena pages for JIT: 13
I/dalvikvm( 2063): Total arena pages for JIT: 14
I/dalvikvm( 2063): Total arena pages for JIT: 15
I/dalvikvm( 2063): Total arena pages for JIT: 16
I/dalvikvm( 2063): Total arena pages for JIT: 17
I/ActivityManager( 506): Start proc com.google.android.apps.maps:LocationFriendService for broadcast com.google.android.apps.maps/com.google.googlenav.friend.reporting.LocationReportingIntentReceiver: pid=2100 uid=10039 gids=50039, 3003, 1015, 1028
I/dalvikvm( 2063): Total arena pages for JIT: 18
D/dalvikvm( 2100): GC_CONCURRENT freed 317K, 4% free 8778K/9124K, paused 2ms+2ms, total 18ms
I/ActivityManager( 506): No longer want com.facebook.orca (pid 26305): empty #17
D/dalvikvm( 2063): GC_CONCURRENT freed 321K, 8% free 9236K/9936K, paused 1ms+3ms, total 17ms
D/dalvikvm( 2063): GC_FOR_ALLOC freed 251K, 7% free 9265K/9936K, paused 23ms, total 23ms
W/Settings( 2063): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
D/dalvikvm( 2063): GC_CONCURRENT freed 520K, 7% free 9256K/9936K, paused 5ms+5ms, total 42ms
D/dalvikvm( 2063): WAIT_FOR_CONCURRENT_GC blocked 30ms
D/ALSAStreamOps( 162): setParameters(): keyRouting with device 0x2
D/ALSAModule( 162): s_route: devices 0x2 in mode 0
D/ALSAModule( 162): switchDevice: device 2 mode:0
D/ALSAModule( 162): s_is_tmus: mnc_mcc : 310260
D/ALSAModule( 162): s_is_tmus: mnc_mcc : 310260
D/ALSAModule( 162): No valid input device: 0
D/ALSAModule( 162): switchDevice,rxDev:Speaker, txDev:(null), curRxDev:Speaker, curTxDev:DMIC Endfire TMUS
D/alsa_ucm( 162): snd_use_case_set(): uc_mgr 0x417b5d58 identifier _enadev value Speaker
D/ALSAModule( 162): switchDevice: curTxUCMDevivce DMIC Endfire TMUS curRxDevDevice Speaker
D/AudiostreamOutALSA( 162): mHandle->useCase: HiFi Lowlatency
D/ALSAModule( 162): s_route: devices 0x2 in mode 0
D/ALSAModule( 162): switchDevice: device 2 mode:0
D/ALSAModule( 162): s_is_tmus: mnc_mcc : 310260
D/ALSAModule( 162): s_is_tmus: mnc_mcc : 310260
D/ALSAModule( 162): No valid input device: 0
D/ALSAModule( 162): switchDevice,rxDev:Speaker, txDev:(null), curRxDev:Speaker, curTxDev:DMIC Endfire TMUS
D/alsa_ucm( 162): snd_use_case_set(): uc_mgr 0x417b5d58 identifier _enadev value Speaker
D/ALSAModule( 162): switchDevice: curTxUCMDevivce DMIC Endfire TMUS curRxDevDevice Speaker
D/alsa_ucm( 162): snd_use_case_set(): uc_mgr 0x417b5d58 identifier _verb value HiFi Lowlatency
D/alsa_ucm( 162): Set mixer controls for Speaker enable 1
D/ACDB-LOADER( 162): ACDB -> send_afe_cal
D/alsa_ucm( 162): Set mixer controls for HiFi Lowlatency enable 1
D/ALSAModule( 162): Device value returned is hw:0,14
D/ALSAModule( 162): setHardwareParams: reqBuffSize 1024 channels 2 sampleRate 48000
D/ALSAModule( 162): setHardwareParams: buffer_size 2048, period_size 1024, period_cnt 2
D/ALSAStreamOps( 162): setParameters(): keyRouting with device 0x2
D/ALSAModule( 162): s_route: devices 0x2 in mode 0
D/ALSAModule( 162): switchDevice: device 2 mode:0
D/ALSAModule( 162): s_is_tmus: mnc_mcc : 310260
D/ALSAModule( 162): s_is_tmus: mnc_mcc : 310260
D/ALSAModule( 162): No valid input device: 0
D/ALSAModule( 162): switchDevice,rxDev:Speaker, txDev:(null), curRxDev:Speaker, curTxDev:DMIC Endfire TMUS
D/alsa_ucm( 162): snd_use_case_set(): uc_mgr 0x417b5d58 identifier _enadev value Speaker
D/alsa_ucm( 162): Set mixer controls for HiFi Lowlatency enable 1
D/ALSAModule( 162): switchDevice: curTxUCMDevivce DMIC Endfire TMUS curRxDevDevice Speaker
D/dalvikvm(25785): GC_CONCURRENT freed 417K, 11% free 9287K/10340K, paused 3ms+2ms, total 23ms
E/GameAgent( 4789): Unable to retrieve 1P application 191479565208 from network
W/dqi ( 4789): Authentication error: Unable to respond to any of these challenges: bearer=WWW-Authenticate: Bearer realm="https://www.google.com/accounts/AuthSubRequest", error=invalid_token
E/Volley ( 4789): [494] il.a: Unexpected response code 401 for https://www.googleapis.com/games/v1/players/me
W/dqi ( 4789): Authentication error: Unable to respond to any of these challenges: bearer=WWW-Authenticate: Bearer realm="https://www.google.com/accounts/AuthSubRequest", error=invalid_token
E/Volley ( 4789): [494] il.a: Unexpected response code 401 for https://www.googleapis.com/games/v1/players/me
W/dqi ( 4789): Authentication error: Unable to respond to any of these challenges: bearer=WWW-Authenticate: Bearer realm="https://www.google.com/accounts/AuthSubRequest", error=invalid_token
E/Volley ( 4789): [495] il.a: Unexpected response code 401 for https://www.googleapis.com/games/v1/players/me
W/dqi ( 4789): Authentication error: Unable to respond to any of these challenges: bearer=WWW-Authenticate: Bearer realm="https://www.google.com/accounts/AuthSubRequest", error=invalid_token
E/Volley ( 4789): [495] il.a: Unexpected response code 401 for https://www.googleapis.com/games/v1/players/me
E/SignInIntentService( 4789): There is no linked app associated with this client ID.
E/SignInIntentService( 4789): aol
E/SignInIntentService( 4789): at ajy.a(SourceFile:108)
E/SignInIntentService( 4789): at abm.a(SourceFile:213)
E/SignInIntentService( 4789): at abm.a(SourceFile:194)
E/SignInIntentService( 4789): at aav.a(SourceFile:486)
E/SignInIntentService( 4789): at aqu.a(SourceFile:221)
E/SignInIntentService( 4789): at com.google.android.gms.games.service.GamesSignInIntentService.onHandleIntent(SourceFile:343)
E/SignInIntentService( 4789): at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
E/SignInIntentService( 4789): at android.os.Handler.dispatchMessage(Handler.java:99)
E/SignInIntentService( 4789): at android.os.Looper.loop(Looper.java:137)
E/SignInIntentService( 4789): at android.os.HandlerThread.run(HandlerThread.java:60)
E/LoadSelfFragment( 1244): Unable to sign in - application does not have a registered client ID
I/Prime31-Proxy(26004): onActivityResult called. finishing activity
D/Prime31 (26004): onActivityResult, req 9001 response 10004
D/Prime31 (26004): responseCode != RESULT_OK, so not reconnecting.
D/Prime31 (26004): giveUp: giving up on connection. Status code: 4
I/Prime31-GPSUtil(26004): b() No error string provided for errorCode: 4
I/Prime31-GPSUtil(26004): a() No error string provided for errorCode: 4
【问题讨论】:
【参考方案1】:这让我发疯了一段时间。这对我有用:
-
登录开发者控制台
点击游戏服务,然后点击测试
删除不起作用的测试人员帐户。
重新添加测试者帐号。
我这样做后立即工作。希望对您有所帮助。
【讨论】:
【参考方案2】:您应该只使用手机的主帐户进行测试。
但我不确定此限制是否仅对for in-app purchases 有效,或者是否适用于涉及 google play 的任何内容。
【讨论】:
【参考方案3】:这对我有用。
您需要生成一个签名的应用程序,然后在您的真实设备上运行。
确保在清单文件中包含应用 ID:
<meta-data android:name="com.google.android.gms.games.APP_ID"
android:value="@string/app_id" />
您可以在此处获取链接应用程序中的 app_id:
【讨论】:
以上是关于使用 Google Apps 帐户登录时,在 Android 上对 Google Play 游戏服务进行身份验证会导致错误的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Google Apps 脚本中使用服务帐户对 Google 表格进行身份验证