我正在使用新的Google Play应用签名来签署我的应用,并且存在不匹配的密钥哈希。Google Play应用签名 - KeyHash不匹配
我整合Facebook登录在我的应用程序,它说keyhash无效。 我的APK的keyhash版本与Google Play应用签名过程中创建的keyhash版本不同。
编辑:第一步我做:
1)创建一个JKS密钥库文件。
2)创建了一个用jks文件签名的apk版本。
3)在Google控制台开发人员中导入APK,并订阅Google Play App签名以修改签名密钥。
4)一旦网上,我下载并打开应用程序,Facebook的初始化说:无效的密钥哈希
当我检查中通过下面的代码的应用程序的hashkey,散列键是无效hashkey的不同表示通过Facebook:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.package",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (PackageManager.NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
即使我把Facebook上的hashkey说在Facebook的仪表板,它不工作。 似乎Google Play App Signing在签名过程中修改了hashkey。 你有想法解决它吗?
您应该使用单独的密钥散列进行制作,这可以使用您的发行密钥库文件生成。:) – SripadRaj
事实上,我首先使用.jks文件通过android studio签署我的应用程序。它会创建一个APK版本,我将其导入Google Play控制台。我没有看到我错过了什么。 –
我的意思是,您必须使用发行密钥库文件生成Facebook api密钥,就像您获取调试证书的api密钥一样。 – SripadRaj