【问题标题】:Facebook Integration in Android ApplicationAndroid 应用程序中的 Facebook 集成
【发布时间】:2013-05-24 08:41:09
【问题描述】:

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

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

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

请帮我摆脱这种情况。

谢谢

【问题讨论】:

  • 这太模糊了。您没有收到任何错误/异常吗?尝试定位问题并向我们展示一些代码。

标签: android facebook facebook-android-sdk


【解决方案1】:

我遇到了同样的错误,但是当我通过 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());
    }

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

【讨论】:

  • 是的,我遇到了同样的错误,当我尝试这段代码时,我发现密钥与我在 facebook 中使用的不同,之后我更新它一切正常。
  • 当 apk 使用发布密钥签名时我将如何获得 logcat
  • 在发布应用程序之前,您可以在已签名的 apk 中显示哈希键的 toast。在我的情况下,签名应用程序后的密钥哈希是相同的。
猜你喜欢
  • 1970-01-01
  • 2011-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-13
  • 1970-01-01
相关资源
最近更新 更多