调试APK写入Google Fit数据是否需要权限?已配置仍报5000错误如何解决?
Google Fit调试APK报错5000问题解决方案
debug APK权限说明
debug APK同样需要完整的Google Fit OAuth权限校验,不存在调试阶段豁免规则,仅当你的OAuth同意屏幕处于测试模式时,仅添加到测试列表的账号可授权使用,无需走正式应用公开发布验证流程。
报错5000的常见原因
- 签名SHA1不匹配:创建Android Client ID时填入的是发布版签名SHA1,而debug APK默认使用Android Studio自动生成的debug.keystore签名,两者SHA1不一致触发OAuth校验失败,这是最常见的问题原因。
- 授权范围不匹配:代码中请求的Google Fit权限范围,和你在Google Cloud Console OAuth同意屏幕中配置的范围不一致,或者存在遗漏的敏感权限范围。
- 测试用户配置无效:添加的测试账号和实际测试使用的Google账号不一致,或者账号刚添加尚未生效(一般新增测试用户需要15分钟生效时间)。
- 本地旧授权缓存残留:设备上之前安装过旧版本APK,缓存了无效的OAuth凭证,后续请求直接复用旧凭证触发报错。
对应解决步骤
- 校验并更新Client ID的签名配置
执行命令获取debug.keystore的SHA1值:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
复制输出结果中的SHA1指纹,到Google Cloud Console对应项目的「API和服务 - 凭据」页面,将该SHA1填入你创建的Android客户端ID配置中,同时确保配置的包名和debug APK的applicationId完全一致,无后缀差异。 - 核对OAuth授权范围
检查代码中请求的Fit权限(比如插入活动数据需要的FitnessActivities.WRITE),和OAuth同意屏幕中添加的权限范围完全对应,无遗漏。 - 确认测试用户配置正确
检查OAuth同意屏幕的测试用户列表,实际测试用的Google账号确实在列表中,无拼写错误,刚添加的账号等待15分钟后再测试。 - 清除旧授权缓存
先卸载设备上的旧测试APK,或进入应用设置清除全部应用数据,清除残留的无效OAuth凭证后,重新安装debug包发起授权。 - 额外校验:确保debug包的applicationId、签名SHA1、Client ID配置三者完全匹配,任意一项不一致都会触发OAuth校验失败。
内容的提问来源于stack exchange,提问作者spadiyar
相关产品推荐
相关产品推荐

