【发布时间】:2012-10-31 20:27:54
【问题描述】:
我曾经在 PC 上使用 keytool 对我的应用程序进行签名,并获取在 FB 应用程序中使用的哈希码。
现在,我已切换到 Mac,我必须重新签署我的应用程序。
我已经按照为 mac cannot find keytool on a mac 解释的过程进行了操作
我已成功生成签名的 .APK,但我不知道在哪里可以找到我的应用在 Mac 上的 Android Key Hash?
谁能指点我正确的方向。
【问题讨论】:
我曾经在 PC 上使用 keytool 对我的应用程序进行签名,并获取在 FB 应用程序中使用的哈希码。
现在,我已切换到 Mac,我必须重新签署我的应用程序。
我已经按照为 mac cannot find keytool on a mac 解释的过程进行了操作
我已成功生成签名的 .APK,但我不知道在哪里可以找到我的应用在 Mac 上的 Android Key Hash?
谁能指点我正确的方向。
【问题讨论】:
我不是 Mac 用户,因此无法为您提供专门针对 Mac 的解决方案,但我可以为您提供更好、更简单的解决方案。
我在这里发布了类似的答案:https://stackoverflow.com/a/13283088/450534。第二种解决方案适用于任何平台。
试试这个。这与上面链接的答案完全相同。
我总是发现最简单的做法是,让 Facebook SDK 告诉你哈希键是什么。这要简单得多,不会超过几分钟。
第 1 步: 在您的 Facebook SDK 中,找到 Util.java 类。在那,改变这个:
private static boolean ENABLE_LOG = false;
到:
private static boolean ENABLE_LOG = true;
第 2 步: 创建一个新签名的 APK,传输到您的设备并安装。如果已经安装,自然会提示。
第 3 步: 在您的 DDMS (Logcat) 运行并且您的设备连接到计算机的情况下,运行该应用程序并继续寻找 key mismatch 警告。该警告具有 实际 哈希键。复制该密钥,转到您的 Facebook 开发者页面并将新密钥添加到列表中。
您可能还想从我的这个答案中查看 cmets。 https://stackoverflow.com/a/10516629/450534。在第三条评论中,OP 已将回复发布在Logcat。
编辑:官方 Facebook Getting Started - Step 4 页面提供此命令用于在 Mac 上生成密钥哈希:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -二进制 | openssl base64
【讨论】: