使用 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 表格进行身份验证

通过 Google Apps 帐户通过 C# 发送电子邮件

通过C#通过Google Apps帐户发送电子邮件

允许匿名访问 Google Apps Script Web 应用程序(Google Apps 帐户)

每次用户登录时,Google 登录都使用相同的帐户

“使用其他帐户”登录时,Google 登录不返回任何结果