2013-10-27 377 views
5

https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/上我們展示瞭如何獲得密鑰哈希,但我不知道我能做些什麼「keytool -exportcert -alias androiddebugkey -keystore%HOMEPATH%.android \ debug .keystore | openssl sha1 -binary | openssl base64「。在網站上我們討論Java的keytool工具,但我不知道它是什麼?請我想爲Android創建我的Facebook應用程序,我不知道所有這些工作。我需要有人幫助我一步一步來。感謝您的高級。在Android中爲Facebook應用程序生成密鑰哈希

+1

你有jdk下的jdk /斌你會看到keytool – Raghunandan

+0

謝謝你!但是我嘗試打開,並在打開後1分鐘後關閉。使用Windows或Linux的 –

+0

。你不打開,但執行命令 – Raghunandan

回答

4

Keytool是Java JDK的一部分。您提到的keytool命令將輸出一個base64,sha1加密的調試密鑰表示。每次編譯時,您的應用程序都使用此調試密鑰進行簽名。 Facebook使用此密鑰來驗證您的計算機編譯了該應用程序。因此,在Facebook管理應用程序界面中,您可以輸入keytool命令的輸出。

如果遇到運行該命令時遇到問題,最有可能導致路徑不正確。請嘗試:

"C:\Program Files\Java\jdk1.6.0_33\bin\keytool.exe" -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | "C:\Users\A\Downloads\openssl-0.9.8h-1-bin\bin\openssl.exe" sha1 -binary | "C:\Users\A\Downloads\openssl-0.9.8h-1-bin\bin\openssl.exe" base64 

其中將引號中的路徑更改爲計算機上openssl.exe和keytool.exe的路徑。 (您可能必須先下載openssl)

+0

在終端中,我已經編寫了C:\ Program Files \ Java \ jdk1.7.0_40 \ bin \ keytool.exe -exportcert -alias androiddebugkey -keystore%HOMEPATH%\。android \ debug.keystore | C:\ OpenSSL-Win32 \ bin \ openssl.exe sha1 -binary | C:\ OpenSSL-Win32 \ bin \ openssl.exe base64 *****但我看到錯誤請幫助我。 –

+0

您不應刪除路徑周圍的引號。 (看我的例子) –

3

請按照以下步驟操作: 1.在cmd上設置路徑。

C:\Program Files\Java\jdk1.7.0_03\bin 
  1. 然後下載的OpenSSL 0.9.8k_WIN32。將其粘貼到您的C:文件夾中。
  2. 使用以下命令

    C:\Program Files\Java\jdk1.7.0_03\bin\keytool -export -alias myAlias -keystore    
    C:\Users\Admin\.android\debug.keystore | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e 
    

    4.It會問password.put PASSWORD =機器人

  3. 你會得到你的hashkey。 更多信息,請訪問: [http://android-developer-helpdesk.blogspot.com/2014/04/hash-key-generation.html]
3

首先,檢查你的系統,它是64位或32位。

如果是32位,則給出以下命令

keytool -export -alias myAlias -keystore C:\Users\monue\.android\debug.keystore | C:\openssl\bin\openssl sha1 -binary | C:\openssl\bin\openssl enc -a -e 

並且如果它是64位,則給出以下命令

"C:\Program Files\Java\jdk1.6.0_33\bin\keytool.exe" -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | "C:\Users\A\Downloads\openssl-0.9.8h-1-bin\bin\openssl.exe" sha1 -binary | "C:\Users\A\Downloads\openssl-0.9.8h-1-bin\bin\openssl.exe" 

的base64

2

不管計算機,最簡單的方法是簡單地通過下載(openssl) - (https://code.google.com/p/openssl-for-windows/downloads/list) 並將其放置在c驅動器上的新文件夾中,就像這樣....考試ple {C:\ openssl}

現在,當查找釋放鍵時,您的命令提示符應該看起來像這樣(只需將位置切換到調試密鑰庫或反之亦然!

粘貼到命令提示符之前,請刪除所有引號...

密鑰工具-exportcert -alias「密鑰庫的名字放在這裏」 -keystore「位置wher您的密鑰存儲文件」 | C:\ openssl \ bin \ openssl.exe sha1 -binary | C:\ OpenSSL的\ BIN \ OpenSSL的。exe base64

1

如果您使用的是android studio作爲開發平臺,那麼將很容易獲得Facebook的Key Hash。

1:創建一個java文件MyApplication.java

2:將下面的代碼粘貼在其中。 3:現在打開您的清單文件,並在應用程序標籤中寫入android:name =「。MyApplication」。

下同在AndroidManifest.xml中

<application 
    android:allowBackup="true" 
    android:icon="@drawable/icon1" 
    android:label="@string/app_name" 
    android:name=".MyApplication.java" 
    android:theme="@style/AppTheme"> 

如果你已經在使用Android這樣的名稱:NAME = 「android.support.multidex.MultiDexApplication」 隨後還替換它,因爲我已經使用擴展在MyApplication.java文件中進行多重分解。

您在使用任何名稱之後,一旦進入Hash,您就可以使用您以前的文件名稱替換MyApplication.java文件。

相關問題