从 Android 登录时,Google OAuth2 返回错误 10 或错误 12500

Posted

技术标签:

【中文标题】从 Android 登录时,Google OAuth2 返回错误 10 或错误 12500【英文标题】:Google OAuth2 returning either error 10 or error 12500 when signing in from Android 【发布时间】:2021-06-18 04:46:15 【问题描述】:

我遇到这两个错误的方式不同。

最近我有时间为我的 android 项目做一些改进。直到去年 Google 对 Scopes 进行的更改之前,一切都运行良好。我曾经并且仍在使用谷歌代码片段进行登录。弹出登录对话框,选择我的 Google 帐户。

如果我没有在 Google 控制台中创建 Android OAuth 凭据(如 Google Sign In error 12500 所建议的那样),我将收到 com.google.android.gms.common.api.b: 12500。通过使用 Firebase 集成 -> 登录 -> Google 添加所有 OAuth2 凭据来解决此问题后,

我目前正在接收com.google.android.gms.common.api.b: 10。为了尝试解决这个问题,我有:

在 Google Cloud Console 中多次重新创建所有凭据 尝试使用 com.google.android.gms.auth (18.1) 的旧 google gradle 插件 仅配置 Firebase 中的应用签名 SHA-1 和 OAuth2 凭据以用于发布(通过 Firebase Google 登录集成进入链接的 Google Cloud Console 项目)和调试(手动,在其他 Google Cloud Console 项目中)根据修复构建1250010 错误 将 Firebase 应用链接到相应的 Google Play 商店应用 在 Google Cloud Console 的 OAuth consent screen 选项卡中添加了所有信息 在 Firebase 中添加了有效的支持电子邮件(如 Google sign in failed com.google.android.gms.common.api.ApiException: 10: 中的建议) 根据 Gradle 的 signinReport 数据,在源和重建项目中为我的应用程序的所有风格和变体添加了最新的 google-services.json 已验证包名称的格式和名称是否正确

不过,我得到了错误 10。

当甚至没有显示带有电子邮件选择的 Google 登录窗口时,这会在日志中生成:

2021-03-21 11:59:36.109 1726-3785/? E/DollieAdapterService: notifyActivityState pkg:com.google.android.gms/com.google.android.gms.auth.api.signin.ui.SignInActivity state:2 fg:true mUid:10019
2021-03-21 11:59:36.195 1726-3785/? E/DollieAdapterService: notifyActivityState pkg:<package_name>/com.google.android.gms.auth.api.signin.internal.SignInHubActivity state:2 fg:true mUid:10227
2021-03-21 11:59:36.265 1726-3785/? E/DollieAdapterService: notifyActivityState pkg:com.google.android.gms/com.google.android.gms.auth.api.signin.ui.SignInActivity state:4 fg:false mUid:10019
2021-03-21 11:59:36.421 1270-1440/? E/WindowManager: win=Window618de97 u0 <package_name>/com.google.android.gms.auth.api.signin.internal.SignInHubActivity EXITING destroySurfaces: appStopped=false win.mWindowRemovalAllowed=true win.mRemoveOnExit=true```

【问题讨论】:

【参考方案1】:

以下其中一项有所帮助:

使用 ADB 插件在测试设备中完成应用程序的重新构建和重新安装,因为 Android Studio 通常无法正确和干净地重新(安装) 对多个 Google Cloud 项目中的 OAuth2 ID 进行全面检查

【讨论】:

以上是关于从 Android 登录时,Google OAuth2 返回错误 10 或错误 12500的主要内容,如果未能解决你的问题,请参考以下文章

从 Android Studio 部署时登录有效,但从 Google Play 下载时无效 [重复]

从 Google 登录集成 android 注销

如何在我的 Android 应用程序中集成 google+ 登录?

android google登录后如何初始化firebase?

如何在使用 Google 登录按钮时不将 Google 帐户添加到 Android 手机

在开发阶段在 Android 上测试 google 登录