我试图为Facebook生成密钥哈希。我已经安装了openssl并在Facebook上注册了我的应用程序。为了生成密钥哈希,我使用以下命令。
C:\Program Files\Java\jdk1.6.0\bin>keytool -exportcert -alias androiddebugkey -keystore C:\Documents and Settings\User\.android\debug.keystore|C:\OpenSSL\bin shal -binary|openssl base64
这给了我这样的答复:
'C:\OpenSSL\bin' is not recognized as an internal or external command, operable program or batch file.
错误消息的含义是什么?如何解决问题?
答案 0 :(得分:1)
您可以从以下位置下载并安装openSSL: http://slproweb.com/products/Win32OpenSSL.html
在我的情况下,OpenSSL由于某些依赖性而未正确安装,我遇到了同样的问题。 解决方案:找到解压缩openSSL的目录(在我的例子中为C:\ OpenSSL-Win64)
并使用带有openSSL绝对路径的命令
keytool -exportcert -alias androiddebugkey -keystore C:\Users\nnagella\.android\debug.keystore | C:\OpenSSL-Win64\bin\openssl sha1 -binary | C:\OpenSSL-Win64\bin\openssl base64
答案 1 :(得分:0)
错误消息的第一个命令的关键部分是:
|C:\OpenSSL\bin shal -binary|openssl base64
第一个|
表示上一个命令的输出(也可能有问题)应该输入C:\OpenSSL\bin
,但shell抱怨C:\OpenSSL\bin
不是可执行文件 - 它很可能是一个目录。
也许这应该是:
| C:\OpenSSL\bin\sha1 -binary | C:\OpenSSL\bin\openssl base64
您的第一个命令段也可能存在问题:
C:\Program Files\Java\jdk1.6.0\bin>keytool -exportcert ...
那>
应该是一个反斜杠:
C:\Program Files\Java\jdk1.6.0\bin\keytool -exportcert ...
答案 2 :(得分:0)
您无需安装openSSL。只需解压缩并将其存储在C盘中即可。获取debug.keystore的副本并将其存储在另一个驱动器中。说D盘。试试这个
C:\ Program Files \ Java \ jdk1.6.0 \ bin> keytool -exportcert -alias androiddebugkey -keystore“D:\ NewFolder \ debug.keystore”|“C:\ OpenSSL \ openssl - 0.9.8k_WIN32 \ bin \ openssl“shal1 -binary”|“C:\ OpenSSL \ openssl - 0.9.8k_WIN32 \ bin \ openssl”base64
确保更改OPENSSL版本。我的赔率为0.9.8你可能会有所不同