Android Key Hash for Facebook with Cordova



我正在开发一个与Meteor和Cordova的混合应用程序。我正在尝试配置Facebook Connect并让它在iOS上运行,但我被困在Android上。我似乎找不到正确的密钥哈希。我总是收到消息:

密钥哈希无效。密钥哈希...与任何存储的密钥哈希都不匹配。

我已经尝试通过以下命令找到正确的密钥哈希:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

和标准密码"安卓"。我将生成的密钥添加到Facebook,但没有帮助。我还在下面的帖子中尝试了该工具。它给了我另一个钥匙,也不起作用。有什么想法吗?

Meteor 在

通过 meteor run android-device 创建 android 应用程序时使用自己的调试密钥库。密钥库可以在~/.meteor/android_bundle/.android/debug.keystore找到。

使用以下代码和密钥库密码 android 来创建密钥哈希:

keytool -exportcert -alias androiddebugkey -keystore 
~/.meteor/android_bundle/.android/debug.keystore | openssl sha1 -binary | openssl base64

我遇到了同样的问题,只需要将错误消息上的密钥放在FB设置上即可。成功了。

Facebook 密钥哈希适用于应用程序的包名称和密钥库。

使用生产密钥库对您的apk进行签名,并使用以下代码获取facbook密钥哈希

try {
PackageInfo info = getPackageManager().getPackageInfo("your package", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
    MessageDigest md = MessageDigest.getInstance("SHA");
    md.update(signature.toByteArray());
    Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}

facebook Keyhash将以"="开头等于符号。出于测试目的,您可以同时拥有来自调试密钥库的密钥哈希以及生产密钥库。

更多信息可在此处获得。

最新更新