2012-01-13 61 views
0

我正在嘗試爲Facebook生成密鑰哈希。我已經安裝了openssl,並在Facebook上註冊了我的應用程序。爲了生成密鑰散列,我使用以下命令。在Android中生成keyhash時出錯

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

我已經創建了一個工具,檢查了這一點:http://stackoverflow.com/a/17732453/2226605 投票我的答案,如果我幫你。 – Shahar 2014-04-30 21:50:58

回答

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你的可能是不同的

+0

謝謝reshmi ....它工作! – android 2012-01-13 09:43:03

0

該錯誤消息中的第一命令的關鍵部分是:

|C:\OpenSSL\bin shal -binary|openssl base64 

第一|裝置前面的命令的輸出(其也可能有問題)應該被饋送到C:\OpenSSL\bin,但外殼抱怨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 ... 
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