Android应用程序中的Facebook集成

时间:2013-05-24 08:41:10

标签: android facebook facebook-android-sdk

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

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

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

请帮助我摆脱这种情况。

谢谢

1 个答案:

答案 0 :(得分: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());
    }

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