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密钥库的行为与命令行密钥库的行为不同,并且它们与签名内容不兼容。然而,我已经发布了我的应用程序的一个版本,所以我需要使用我已经使用的密钥。
洞察力表示赞赏。
答案 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 / ...则不起作用。