我在Facebook上创建了一个应用程序。我已经正确添加了keyhash,应用运行良好,但是当我今天来到并尝试再次运行它时,它给了我这个错误。 无效密钥散列密钥散列不匹配任何存储的密钥散列
这是第二次发生。 Previsouly当我得到这个错误,我删除了应用程序,并再次添加它,它开始再次工作和offcourse我不能做一遍又一遍。
还有一件事,他在错误中提到的关键散列不一样,我在应用程序中添加,如果我去应用程序设置关键散列在那里是正确的。
我在Facebook上创建了一个应用程序。我已经正确添加了keyhash,应用运行良好,但是当我今天来到并尝试再次运行它时,它给了我这个错误。 无效密钥散列密钥散列不匹配任何存储的密钥散列
这是第二次发生。 Previsouly当我得到这个错误,我删除了应用程序,并再次添加它,它开始再次工作和offcourse我不能做一遍又一遍。
还有一件事,他在错误中提到的关键散列不一样,我在应用程序中添加,如果我去应用程序设置关键散列在那里是正确的。
删除应用程序,并尝试通过以下这个 method创建一个新的哈希键!
你要做一次以下步骤: - 在Facebook的网站(developers.facebook.com)
等详细信息见下面的链接: -
https://developers.facebook.com/docs/android/getting-started/
使用此版本之一:openssl-0.9.8e _X64.zip
你应该不使用openssl-0.9.8k_X64.zip
。
不同的是ķ和Ë
,并生成密钥再次CMD
使用 keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
添加以下代码到的onCreate(): *不要忘记更改包名称。
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.yours.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 (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
来源:https://developers.facebook.com/docs/android/getting-started/
此代码被赋予Debug Key not Sign键。 – Destro
优秀 - 这是实际工作的人(cmd生成的密钥不适合我) – galaxigirl
没有必要一次又一次地删除Facebook的开发者网站的应用程序。 什么你需要的是去你的终端(Mac或Linux操作系统),然后键入:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
而且窗口的用户打开CMD,输入:
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl
base64
这一点,你会被要求后“输入密钥库密码:“,为此请记住只输入android
。现在在Facebook开发人员网站上使用此密钥哈希(注意:此密钥哈希将与您错误获取的密钥哈希相同)。 大多数人都要求从Facebook开发者网站上删除应用程序,然后重新制作新应用程序,但相信我这实际上就是你必须要做的。
所以你的意思是说,这只发生调试?我已经有两个键在我的Facebook设置中添加了调试和释放密钥,但尽管我收到了此消息 – batmaci
我只是为了调试而面临此问题。你确定你从上面的命令得到的关键是你在facebook设置中的关键。钥匙也应该与你错误的钥匙匹配。@ batmaci –
这个错误的唯一原因是每个开发环境的哈希键不同,这意味着如果您在不同的计算机上工作,每台PC/Mac将生成自己的哈希键。
NOW SOLUTION:
两个简单的步骤就可以解决这个错误,只是写在你的Facebook开发者帐户的哈希键等安装的图像:
第一步:你会看到这里HASH基调的帽子键然后按照下一步 enter image description here
最后一步:在重点哈希领域写下复制哈希键。像 enter image description here
无需删除或重新配置应用程序。
谢谢。
嗨在我的情况下,这是生成生产释放键的问题。释放apk来玩商店需要你生成释放密钥。 有关详细信息,请通过Facebook访问此link。
_ZerO_,这不是一个真正的编码问题。 @ umerk44:在此问题的答案更新之前尝试解决方案**:http://stackoverflow.com/q/14875027/450534。如果这不起作用,请在UPDATE中尝试解决方案1。这两种解决方案都需要与** Release Key **一起使用。不是默认的调试密钥。我假设您的应用已部署在Google Play上。如果没有,请使用您的默认调试密钥。 –