0

我在我的 android 应用程序中集成了 facebook。使用 debugkeytool 生成密钥,它在模拟器和真实设备上都可以正常工作。

现在我必须制作发布 apk 文件,并且我已经使用 eclipse android 工具创建了密钥库来导出签名的应用程序包。

并且使用这个密钥库,我为 facebook 生成了新的密钥哈希并将其设置在 facebook 开发者网站上。但是在使用我自己创建的密钥库签署我的应用程序后,我仍然无法在 Facebook 墙上发帖。我检查了创建密钥库的所有步骤,它是正确的。

请帮助我摆脱这种情况。

谢谢

4

1 回答 1

8

我遇到了同样的错误,但是当我通过PackageManager检查哈希键时,我得到了应用程序的不同哈希键并在 facebook 上更新它,它对我有用。

 PackageInfo info;
    try {
        info = getPackageManager().getPackageInfo("com.example.yourpackagename", PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md;
            md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            String something = new String(Base64.encode(md.digest(), 0));
            //String something = new String(Base64.encodeBytes(md.digest()));
            Log.e("hash key", something);
        }
    } catch (NameNotFoundException e1) {
        Log.e("name not found", e1.toString());
    } catch (NoSuchAlgorithmException e) {
        Log.e("no such an algorithm", e.toString());
    } catch (Exception e) {
        Log.e("exception", e.toString());
    }

在代码中更改您的包名称。哈希键将打印在日志中。它可能会帮助你。

于 2013-05-24T11:57:22.700 回答