Flutter Facebook登录release包报key hash不匹配错误如何解决?
Facebook登录发布版哈希不匹配问题解决方案
核心原因:你之前生成的是调试密钥库debug.keystore对应的哈希值,仅适用于本地debug场景,发布APK使用的是独立的正式签名密钥,二者哈希值不一致,所以会触发报错。
可执行操作步骤
- 生成正式签名密钥对应的哈希值
替换你之前执行的命令中的别名、密钥库路径参数为你打包发布APK时使用的正式签名信息:
执行命令后输入你设置的正式密钥库密码,即可得到发布版对应的哈希值。keytool -exportcert -alias 你的正式密钥别名 -keystore "你的正式keystore文件本地路径" | openssl sha1 -binary | openssl base64 - 处理Google Play自动签名场景
如果你将APK上架到Google Play商店并开启了Google Play应用签名服务,Google会替换APK的原始签名,此时需要到Google Play开发者后台的「应用完整性」页面获取官方提供的SHA-1签名值,将其转换为Base64格式的哈希值即可。 - 全量录入哈希到Facebook开发者后台
将调试哈希、正式签名哈希、Google Play签名哈希(如果适用)全部添加到Facebook开发者后台对应应用的Android配置项的密钥散列列表中,保存配置后等待5-10分钟生效。 - 兜底校验方案
如果始终无法匹配,可以在应用代码中添加签名哈希打印逻辑,安装运行发布版APK后直接获取当前应用的真实哈希值,录入后台即可100%匹配。
内容的提问来源于stack exchange,提问作者ahmad zabadnee
相关产品推荐
相关产品推荐

