0

在服务器崩溃后,我已将 eclipse 更改为另一个版本。现在我无法将我的应用程序登录到 Facebook 或发布文本或图像。

我知道如何生成 debug.keystore 哈希键,以及我使用它导出我的应用程序的 Keystore 哈希键。顺便说一句,我删除了我的debug.keystore并生成了一个新的作为尝试解决问题的方法,但我失败了。

这是用于的命令debug.keystore

C:\Program Files\Java\jre7\bin\keytool.exe" -exportcert -alias androiddebugkey -keystore C:\Users\Administrator.android\debug.keystore | C:\Windows\SysWOW64\openssl.exe sha1 -binary | C:\Windows\SysWOW64\openssl.exe base64

这也是我用来将我的应用程序导出到的密钥库:

"C:\Program Files\Java\jre7\bin\keytool.exe" -exportcert -alias exportkeystore -keystore "C:\Users\Administrator\APKs\exportkeystore" | C:\Windows\SysWOW64\openssl.exe sha1 -binary | C:\Windows\SysWOW64\openssl.exe base64

我将生成的两个哈希键放入我的 Facebook android 本机应用程序中。此外,我注意到我的 Eclipse SHA 已更改为另一个,我之前的 Eclipse 是 Juno,现在是 Kepler。

现在,解决方案是什么?如何解决我的 Facebook 登录问题?并且在 Eclipse 指纹证书更改(即新的 SHA)后,我还能发布我的应用程序吗?

4

2 回答 2

2

我解决了我的问题,参考官方 Facebook API 文档: Setting a Release Key Hash

于 2015-06-02T13:10:08.007 回答
0

尝试从应用的第一个 Activity 的 onCreate api 调用以下方法。它将打印一个 Hash Key,将其与您添加到 Facebook 应用程序中的 HASH 进行比较,看看这是否是问题所在

 public void printHashKey() {

    try {
        PackageInfo info = getPackageManager().getPackageInfo("your.package.name",
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("TEMPTAGHASH KEY:",
                    Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }

}
于 2013-07-20T13:54:48.100 回答