我有签名证书的哈希密钥,我使用了keytool,如下所示:
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl
base64
我已成功生成密钥,并已将该密钥添加到我的Facebook开发人员页面。
当我第一次运行我的应用程序时,它会正常工作但是当我在注销后再次尝试并再次登录时,它会显示错误消息 - this app has no android key hashes configured
我也尝试过以下代码:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.example.mypack", PackageManager.GET_SIGNATURES);
for (android.content.pm.Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.i("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
但它仍然不起作用。 Facebook问候样本应用程序也会出现同样的问题。我该如何解决这个问题?
答案 0 :(得分:1)
在新的Facebook SDK中,您可以在 MyApps / YourAppName / Settings 中配置应用程序的哈希键:
但我也堆叠了hashkeys的问题。
当我们第一次配置应用程序时,您可以指定两个hashkeys:
我认为Facebook在设置中错过了此选项。
1)打开应用程序的设置,然后单击“入门”
2)选择Android
3)滚动到底部,然后单击下一步
4)更改开发\发布版本的密钥。
请注意。在我的情况下,我为两个版本指定相同的键。这不是好方法。