6

我最近在调试我的应用程序时让 Facebook 工作,方法是按照 facebooks 开发人员页面上关于如何导出和获取我们需要放入开发人员门户的哈希密钥的说明进行操作。

所以现在完成了,我尝试使用 facebook 登录和我的应用程序的导出和签名版本。不幸的是,我无法让它工作。通过 facebook 应用程序或网页登录后,它永远不会返回登录会话。

我相信这是由于发布和签名的 apk 与我用来调试的 apk 之间的密钥不同。

有谁知道如何解决这个问题?

4

3 回答 3

9

您认为密钥哈希与 debug.keystore 和发布签名密钥不同是正确的。要解决这个问题,请按照本网站上的步骤操作:http ://www.helloandroid.com/tutorials/using-facebook-sdk-android-development-part-1

它有一个很好的教程,几乎可以立即解决这个问题。

它的要点是:

  1. 下载适用于 Windows 的 OpenSSl并将 .zip 解压缩到一个简单的位置,例如:c:\openssl,并在此文件夹的根目录中提取 zip 的所有内容。
  2. 将您的签名密钥文件复制到 JRE 安装的 bin 文件夹中。例如,在我的情况下:C:\Program Files\Java\jre7\bin
  3. 在复制签名密钥的 bin 文件夹中时,按SHIFT+ 右键单击​​ -> 在此处打开命令窗口。
  4. 运行以下命令:keytool -exportcert -alias YOUR_ALIAS -keystore YOUR_SIGNING_KEY > c:\openssl\bin\debug.txt
  5. 输入签名密钥的密码
  6. 现在,导航到 c:\openssl\bin 文件夹并输入以下命令:

openssl sha1 -binary debug.txt > debug_sha.txt

进而,

openssl base64 -in debug_sha.txt > debug_base64.txt

完毕!debug_base64.txt包含您的密钥哈希。将其复制到您的应用程序控制台中,一切就绪。

这听起来很长,但你真的会在 4 到 5 分钟内完成。;-)

于 2013-02-21T04:32:57.363 回答
0

为了生成密钥请按照上面提供的步骤。您可能面临的主要问题是别名,因为它会抛出异常:keytool 错误:无法找到别名(可能)。如果您已签署密钥以使用以下方式释放该密钥的应用获取别名:

keytool -list -keystore

现在在 keytool -exportcert -alias -keystore c:\openssl\bin\debug.txt 中使用这个别名

现在您可以按照前面评论中提到的步骤进行操作。

于 2014-03-13T10:57:51.093 回答
0

复制 将 SHA1 密钥粘贴到链接中。

在内部将 Hex 转换为 Base64。

我们可以直接从本网站转换。

为我工作。在此处输入图像描述

于 2020-02-11T05:23:16.930 回答