facebook key hash,android keystore混乱

时间:2011-12-31 06:31:11

标签: android eclipse facebook certificate keystore

keytool -exportcert -alias mykeystore -keystore mykeystore| openssl sha1 -binary | openssl base64

你好,我使用上面的命令来生成我的facebook密钥哈希。它要求我的密码,并给我一个密钥哈希。我把这个密钥哈希放在facebook应用程序设置中,但它对我签名的Android应用程序不起作用。

当我调试Android应用程序时,我看到控制台消息说它无法识别“android key hash blahblahblah”所以我将“blahblahblah”复制到facebook应用程序中,这有效 - 我的Android应用程序能够使用在调试模式下的facebook东西。但显然这只适用于调试密钥库。现在对于真正的密钥库,它生成的密钥库仍然是错误的,因此我的应用程序的生产版本将无法使用facebook api。

关于我的密钥库的一件事是它是在eclipse中制作的。它是一个有两个键的密钥库。我注意到eclipse密钥库的行为与命令行密钥库的行为不同,并且它们与签名内容不兼容。然而,我已经发布了我的应用程序的一个版本,所以我需要使用我已经使用的密钥。

洞察力表示赞赏。

3 个答案:

答案 0 :(得分:5)

使用keytool -list列出您拥有的别名。如果你不确定你用哪个登录你发布的APK,请尝试两者。一个应该工作。

答案 1 :(得分:1)

我有同样的问题 - 调试哈希密钥工作但生产密钥没有。我最终从不同于我最初安装的源安装OpenSSL,重新创建了哈希键,并修复了问题。这是我使用OpenSSL的网站:http://gnuwin32.sourceforge.net/packages/openssl.htm

答案 2 :(得分:0)

如果在Windows上运行Cygwin,请使用cygpath查找密钥库:

keytool -exportcert -alias androiddebugkey -keystore $(cygpath -aw ~/.android/debug.keystore) | openssl sha1 -binary | openssl base64    Keystore-Kennwort eingeben:  android

如果使用/ cygpath / c / Users / name / ...则不起作用。