如果从谷歌播放下载应用程序,Android facebook登录将停止工作

时间:2013-07-21 08:58:07

标签: java android facebook facebook-android-sdk

我在Google Play上传了我的全功能应用程序,当从那里下载时,facebook登录无效!我正确配置我的Facebook应用程序并使用eclipse环境。搜索后,可以通过facebook键哈希来完成。但是,我得到了它:

How to generate Key Hash for facebook SDK In Mac

似乎还必须获得分发的密钥哈希......但是如何?谢谢。

3 个答案:

答案 0 :(得分:2)

备选方案1:

将此功能与使用发布密钥签名的应用一起使用。 从Eclipse部署的那个。

在您应用的第一个活动中运行此段代码:

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.e("FACEBOOK APP SIGNATURE", Base64.encodeToString(md.digest(), Base64.DEFAULT));
    }
} catch (Exception e) {
    // TODO: handle exception
    e.printStackTrace();
}

这一行:Log.e("FACEBOOK APP SIGNATURE", Base64.encodeToString(md.digest(), Base64.DEFAULT));将在DDMS中记录Key Hash。

备选方案2:

  1. 下载OpenSSl for Windows并将.zip解压缩到一个简单的位置,例如:c:\ openssl,其中包含在此文件夹根目录中提取的zip的所有内容。
  2. 将签名密钥文件复制到JRE安装的bin文件夹。例如,在我的情况下:C:\Program Files\Java\jre7\bin
  3. 在复制签名密钥的bin文件夹中,按 SHIFT +右键单击 - >在这里打开命令窗口。
  4. 运行此命令:keytool -exportcert -alias YOUR_ALIAS -keystore YOUR_SIGNING_KEY> C:\ OpenSSL的\ BIN \ DEBUG.TXT
  5. 输入签名密钥的密码
  6. 现在,导航到c:\ openssl \ bin文件夹并输入以下命令:
  7. openssl sha1 -binary debug.txt > debug_sha.txt

    然后,

    openssl base64 -in debug_sha.txt > debug_base64.txt

    完成! debug_base64.txt 包含您的Key Hash。在您的应用控制台中复制此内容即可完成设置。

    在我的经验中,这两种方法都给了我正确的Key Hash。但是,在少数情况下(相当随机的),第一种选择没有给出正确的Key Hash,而第二种选择始终有效。看看哪些适合你。

答案 1 :(得分:0)

在生成发布哈希键时,请注意

生成用于生产的哈希密钥时,您需要在Windows上使用openssl-0.9.8e_X64.zip,不能使用openssl-0.9.8k_X64.zip

版本会产生不同的哈希键,由于某些原因9.8k无法正常工作,而9.8e则可以。

OR

使用以下流程

这就是我解决这个问题的方法 将您的APK下载到Java jdk \ bin文件夹中的PC 就我而言C:\Program Files\Java\jdk1.7.0_121\bin 转到java jdk\bin文件夹并运行cmd然后 在您的cmd中复制以下命令

keytool -list -printcert -jarfile yourapkname.apk

将SHA1值复制到剪贴板 像这样CD:A1:EA:A3:5C:5C:68:FB:FA:0A:6B:E5:5A:72:64:DD:26:8D:44:84 并打开Hex To Base 64,将您的SHA1值转换为base64。

答案 2 :(得分:0)

尝试此解决方案,对我来说我遇到了同样的错误,但是尝试几个小时后现在可以正常工作。

Login Error: There is an error in logging you into this application. Please try again later