Android端Google Fit集成异常 无法完成授权连接问题求助
问题排查方案
高频触发原因及对应解决步骤
- 签名配置不匹配
这是此类无明确诱因失效的最高发原因,你已校验Client ID、Secret正确,但忽略签名指纹校验的概率极高:
执行命令keytool -list -v -keystore 你的签名文件路径获取当前打包所用签名的SHA1值,和Google Cloud控制台中对应OAuth 2.0客户端ID绑定的SHA1做完全比对,注意不要遗漏空格、大小写差异。如果你通过Google Play App Bundle分发应用,还需要将Google Play后台「应用完整性」页面展示的Google签名SHA1值也添加到OAuth客户端配置中。 - Google Cloud配置变更
- 进入Google Cloud控制台「API和服务-已启用的API和服务」页面,确认Google Fitness API处于启用状态,对应调用配额未被耗尽
- 进入「OAuth同意屏幕」页面:如果应用还处于测试阶段,确认你当前用来测试的Google账户已被添加到测试用户列表;如果应用已正式发布,确认OAuth同意屏幕已通过Google官方审核,没有被限制调用
- Android系统版本适配缺失
如果你的应用近期升级过targetSdkVersion到30及以上,Android 11以上的包可见性限制会导致无法正常拉起Google Fit授权页面,需要在AndroidManifest.xml中添加如下配置:
<queries> <package android:name="com.google.android.apps.fitness" /> <intent> <action android:name="com.google.android.gms.auth.api.signin.action.GOOGLE_SIGN_IN" /> </intent> </queries>
- 有效日志缺失
你当前提供的Logcat全部是Firebase Analytics的运行日志,没有任何Google Fit授权相关的错误信息,无法直接定位根因。你可以过滤Logcat的tag为GoogleSignIn、Fitness、OAuth后重新触发授权操作,获取到的错误码可以直接对应问题:- 错误码12501:签名、包名与OAuth配置不匹配
- 错误码12500:设备Google Play服务版本过低/缺失,或当前网络无法正常访问Google服务
- 错误码16:应用未被授权访问你申请的Fit数据作用域
内容的提问来源于stack exchange,提问作者Anvesh
相关产品推荐
相关产品推荐

