如果有人能告诉我正确的获取密钥哈希的方法,我将非常感激。
谢谢!
一旦您进入“.android”目录,请运行以下命令。
keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64
当提示输入密码时,键入android并按Enter
复制终端中打印的以“=”结尾的值,并将其粘贴到Facebook的Key Hash字段中。 然后点击“保存更改”按钮。
打开终端
输入cd ~/.android并按回车键以进入.android目录
如果您想在 Finder 中打开.android目录,请输入open .并按回车键。然后.android目录将在 Finder 中打开,您可以在其中找到debug.keystore。如果您不想打开.android目录,只想生成密钥哈希,则跳过此步骤,并遵循#4。
在已经进入.android目录的终端中输入:
keytool -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1 -binary | openssl base64
并按回车键。
系统会要求您输入密码。请输入android作为密码,然后按回车键。接下来您将获得以“=”结尾的密钥哈希。
复制密钥哈希,进入 Facebook 应用设置页面并保存更改。
我以前从未在Mac上操作过,但是以下是一些建议:
1. 您需要安装OpenSSL。在Windows中,我只需解压缩zip文件,然后将包括openssl.exe在内的三个文件复制到jdk的bin文件夹中(其中keytool位于此处),但不知道在Mac上如何操作。
2. 将要获取密钥哈希的keystore文件复制到jdk的bin文件夹中。我的keystore是debug.keystore(因为我还在测试阶段,不想使用主要的keystore)。
3. 使用命令行进入jdk的bin文件夹(在Windows中,我只需运行 -> cmd -> 输入cd %JAVA_HOME%)。
4. 输入以下命令:
对于我的情况(debug.keystore):
您将获得一些以“=”字符结尾的字符串。转到应用程序设置 -> 移动 -> 将该密钥哈希(包括“=”)填入Android密钥哈希中。
说实话,这不是一个答案,只是给所有遇到类似问题的访问者一个提示。
可以使用纯Java工具android-fb-keytool来获取密钥哈希,无需JDK和OpenSSL。您可以检出并构建源代码。
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
愉快的编码。谢谢
抱歉,什么关键工具?
如果您想生成Facebook应用程序ID/密钥,请转到https://developers.facebook.com/apps并创建Facebook应用程序。
如果您想要可以用于创建证书等的keytool,则包含在jre中。
有关如何处理密钥和哈希的说明: http://developers.facebook.com/docs/guides/mobile/#android
custom.keystore
时,请记得将密码更改为您创建custom.keystore
时设置的密码。 - Diolor