接入Google Play Services Passes API的极简安卓应用运行异常排查
问题原因排查
这个java.lang.SecurityException: GoogleCertificatesRslt: Package signed with unknown certificate错误是Google Play服务对调用Passes API的应用身份校验失败导致的,常见原因如下:
- 提交给Google Support的SHA指纹和当前运行应用的签名指纹不匹配:注意区分调试签名和正式发布签名的SHA1值,多数开发场景下本地运行用的是Android Studio默认生成的debug.keystore签名,和你提交的正式签名SHA1不一致就会触发校验失败。你可以通过以下命令获取当前APK的签名指纹验证:
keytool -printcert -jarfile 你的应用.apk - 提交SHA指纹后未到Google的生效周期:Google侧配置应用权限通常需要最多24小时的生效时间,刚提交完指纹立即调用接口会出现校验失败的情况。
- 应用包名和提交给Google Support的包名不一致:确认你本地应用的
applicationId和你申请SDK权限时提交的包名完全一致,大小写、特殊字符都不能有差异。 - play-services-pay版本适配问题:你当前使用的16.0.0版本存在部分已知的身份校验bug,可以尝试升级到最新稳定版的play-services-pay依赖重试。
- Google Play服务缓存异常:你可以尝试清空当前测试设备上Google Play服务的存储缓存,重启设备后再运行应用测试。
内容的提问来源于stack exchange,提问作者Baterka
相关产品推荐
相关产品推荐

