.aab正式构建包Facebook、Google登录失效,.apk正式构建包运行正常
AAB格式包Google/Facebook登录报错10(developer_error)解决方案
- 优先排查Google Play应用签名的SHA-1配置
如果你启用了Google Play应用签名服务,Google会对上传的AAB包重签名,你本地打包使用的keystore SHA-1和用户实际安装的应用签名SHA-1不一致是该问题的最高发原因。
操作步骤:进入Google Play Console对应应用的「设置」-「应用完整性」页面,复制Google Play生成的应用签名证书SHA-1值,分别更新两处配置:- Google Cloud控制台对应项目的OAuth 2.0客户端ID的SHA-1白名单
- Facebook开发者后台对应应用的Android密钥散列配置,需先将SHA-1十六进制值转换为Base64格式,转换命令:
echo <SHA1_HEX值> | xxd -r -p | base64
- 检查混淆裁剪规则是否完整
AAB构建默认会开启R8压缩,可能会裁剪掉登录SDK的必要类,在proguard-rules.pro中添加以下保留规则:# 保留Google登录相关类 -keep class com.google.android.gms.auth.** { *; } -keep class com.google.android.gms.common.** { *; } # 保留Facebook登录相关类 -keep class com.facebook.** { *; } -keepclassmembers class com.facebook.** { *; } - 核对多构建变体的配置一致性
确认你打AAB包使用的构建变体对应的applicationId、签名配置,和Google Cloud、Facebook后台配置的信息完全匹配,避免因debug/release变体配置差异导致的校验失败。 - 本地验证AAB包可用性
可使用bundletool工具本地将AAB包转换为APKS安装包测试,无需上传到Play商店即可复现问题,转换命令:java -jar bundletool.jar build-apks --bundle=应用包路径.aab --output=输出路径.apks --ks=签名文件路径.keystore --ks-key-alias=密钥别名
如果本地转换的APKS包登录正常,可直接确定问题出在Google Play重签名的SHA-1配置缺失。
内容的提问来源于stack exchange,提问作者Nitiksha
相关产品推荐
相关产品推荐

