1

我完成了我的应用程序,一切正常,但是在我签署我的应用程序以将其发布到谷歌播放后,签名的 apk 无法使用 facebook 登录,我尝试了以下方法来解决这个问题,但到目前为止我没有任何效果。

  1. 我通过 keytool 生成了 hashkey,并将其添加到我在 facebook 上的应用程序页面中。

    keytool -exportcert -alias kartag -keystore C:\Data\app\client\android\keyStore\KarTag | "C:\bin\bin\openssl" sha1 -binary |"C:\bin\bin\openssl" base64
    

    然后输入 android 作为密码并输入我的密钥库密码,但没有任何效果。

  2. 我编写了下面的代码以在运行时获取哈希键,生成的密钥与上述方法生成的不同,并且也添加到我的 facebook 应用程序页面中,但我也不起作用。

    String key = "";
    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "com.kartag.gui", 
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            key = Base64.encodeToString(md.digest(), Base64.DEFAULT);
            }
    } catch (NameNotFoundException e) {
    
    } catch (NoSuchAlgorithmException e) {
    
    }
    

如果您知道解决此问题的任何方法,请提供帮助,因为我花了三天时间来解决此问题。

4

1 回答 1

0

您确定您提交给 facebook 的密钥哈希对应于您用于签署提交给 google play 的应用程序的密钥库吗?如果它在签名之前工作,您很可能将调试密钥库哈希提交给 facebook,而不是您的签名密钥库哈希。

于 2013-05-06T21:07:42.933 回答