You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已发布的Android应用无法使用Google登录,求排查原因

Google登录在Android发布版失效的常见原因及解决方法
  • 签名证书与OAuth客户端ID不匹配
    调试阶段使用Android Studio默认的调试签名,发布版则使用你自己生成的正式签名证书。Google登录验证会严格校验应用签名的SHA-1指纹与Google Cloud控制台中OAuth客户端ID的配置是否一致,不匹配会直接拒绝登录请求。
    解决方式:

    1. 通过命令行获取发布版签名的SHA-1指纹:keytool -list -v -keystore 你的发布密钥库路径 -alias 密钥别名
    2. 登录Google Cloud控制台,进入项目的「API和服务」→「凭据」页面,找到对应的Android客户端ID,添加发布版的SHA-1指纹;或直接创建新的Android类型客户端ID,填入发布版包名和SHA-1指纹。
  • ProGuard/R8混淆移除了Google登录核心代码
    发布版构建默认启用混淆压缩,如果未配置对应的ProGuard规则,Google登录相关的类、方法可能被混淆或移除,导致运行时出现未找到类/方法的异常。
    解决方式:在proguard-rules.pro文件中添加以下规则:

    -keep class com.google.android.gms.auth.api.signin.** { *; }
    -keep class com.google.android.gms.common.api.** { *; }
    -keep class com.google.android.gms.tasks.** { *; }
    -keep class com.google.android.gms.auth.api.credentials.** { *; }
    
  • Google Play App Signing导致签名变更
    若你开启了Google Play App Signing,Google会替换你上传的本地签名证书,此时需要使用Google Play控制台提供的「应用签名证书」指纹来配置OAuth客户端ID,而非你本地的发布签名指纹。
    解决方式:登录Google Play控制台,进入应用的「发布」→「设置」→「应用签名」,复制Google提供的SHA-1/SHA-256指纹,更新到Google Cloud控制台的客户端ID配置中。

  • 未更新google-services.json文件
    在Google Cloud控制台添加发布版客户端ID后,必须重新下载最新的google-services.json文件并替换项目中的旧文件,确保发布版构建时能读取到正确的配置信息。若未更新,发布版仍会使用调试阶段的配置,导致登录失败。

  • 网络配置限制
    检查发布版应用是否具备必要的网络权限,以及网络安全配置是否允许访问Google登录相关域名:

    1. 确认AndroidManifest.xml中已声明<uses-permission android:name="android.permission.INTERNET" />权限;
    2. 若使用了网络安全配置文件res/xml/network_security_config.xml,需确保允许访问accounts.google.com、www.googleapis.com等相关域名。

内容的提问来源于stack exchange,提问作者Fernando Xavier de Souza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 02:52:36