导出哈希键不适用于Android中的Facebook登录

导出哈希键不适用于Android中的Facebook登录,android,facebook,hash,Android,Facebook,Hash,我正在开发一个Android应用程序,其中有Facebook模块。在我将apk导出以上载到Google Play之前,一切都正常。从Google Play下载的应用程序无法登录Facebook。然后我意识到这是我的哈希键的问题,因为它是调试哈希键。因此我重拨生成密钥。我遵循了这一点接受答案的步骤 但它还没有工作。有人请帮助我…提前谢谢…用于调试的哈希键和发布模式不同。 使用以下方法在发布模式下运行项目: @Override public void onCreate(Bundle savedIns

我正在开发一个Android应用程序,其中有Facebook模块。在我将apk导出以上载到Google Play之前,一切都正常。从Google Play下载的应用程序无法登录Facebook。然后我意识到这是我的哈希键的问题,因为它是调试哈希键。因此我重拨生成密钥。我遵循了这一点接受答案的步骤


但它还没有工作。有人请帮助我…提前谢谢…

用于调试的哈希键和发布模式不同。 使用以下方法在发布模式下运行项目:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Add code to print out the key hash
    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "com.facebook.samples.hellofacebook", 
                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));
            }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }
在logcat中,您将看到新的密钥散列。将此发布密钥哈希复制并粘贴到Facebook应用程序ID的Android设置中。
别忘了用你的包名更改
“com.facebook.samples.hellofacebook”

这种生成密钥的方法适用于调试密钥na??视情况而定。如果您正在构建发布版本,则将获得发布密钥哈希。如果您使用的是AndroidStudio,请检查,实际上,我不知道如何在Eclipse中运行发布模式项目。但是你可以:1。包含此代码以重新创建MainActivity类的方法。2.运行项目-获取调试密钥散列(据我所知,您已经有了它)。3.右键单击项目-转到Android工具并选择导出已签名的应用程序包。4.在移动设备上安装apk,不要从计算机上拔下usb电缆。5.启动应用程序,查看日志并比较哈希键。他们会有所不同。我几分钟前就试过了。假设您可能会找到更好的解决方案,但此解决方案也有效。