我正在构建一个应用程序,用户可以在其中使用 Facebook 登录。
我创建了如下哈希键:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.app.package",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash", "KeyHash:"+ Base64.encodeToString(md.digest(),
Base64.DEFAULT));
Toast.makeText(getApplicationContext(), Base64.encodeToString(md.digest(),
Base64.DEFAULT), Toast.LENGTH_LONG).show();
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
在调试模式下,一切正常。
当我导出项目进行发布时,出现以下错误:
"Invalid key hash. The key hash ****************** does not match any stored key hashes"
我粘贴了 Facebook 开发人员仪表板中打印的密钥,但应用程序仍然给出了该错误。
我的活动的完整内容是“com.app.package.views
”,我尝试在仪表板中使用这个包(作为 Google Play 包名称),但没有任何变化。
我该如何解决?如何生成正确的发布密钥哈希?
我找到解决方案。适用于苹果电脑
使用此获取 YOUR_RELEASE_KEY_ALIAS:
keytool -list -keystore /Users/***/Documents/keystore/***.jks
这是获取您的发布密钥哈希的方法:
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore /Users/***/Documents/keystore/***.jks | openssl sha1 -binary | openssl base64
这个对我有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)