2013-10-27 56 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文件。

相关问题