Android Facebook无效密钥哈希错误

Android Facebook无效密钥哈希错误,android,facebook,android-facebook,Android,Facebook,Android Facebook,从代码运行时,它运行良好。但是在创建apk之后,它给出了无效的密钥散列 这就是为什么我添加了密钥散列,但仍然得到相同的错误。出现错误的密钥散列甚至与我的密钥散列不匹配,我还添加了我自己的密钥散列。如果出现类似的错误,“无效的密钥散列,并且在facebook页面的应用程序中找不到任何密钥散列。” 然后,请检查你的应用程序Id,如果它与你存储的facebook应用程序Id string.xml中的不同,那么你必须从你的facebook应用程序Id开发人员那里更新你的facebook Id strin

从代码运行时,它运行良好。但是在创建apk之后,它给出了无效的密钥散列


这就是为什么我添加了密钥散列,但仍然得到相同的错误。出现错误的密钥散列甚至与我的密钥散列不匹配,我还添加了我自己的密钥散列。

如果出现类似的错误,“无效的密钥散列,并且在facebook页面的应用程序中找不到任何密钥散列。”
然后,请检查你的应用程序Id,如果它与你存储的facebook应用程序Id string.xml中的不同,那么你必须从你的facebook应用程序Id开发人员那里更新你的facebook Id string.xml。

如果你收到错误,如“无效的密钥哈希,并且在facebook页面的应用程序中找不到任何密钥hase。”
然后,请检查你的应用程序Id,如果它与你存储的facebook应用程序Id string.xml中的facebook Id不同,那么你必须从你的facebook应用程序Id开发者那里更新string.xml中的facebook Id。

通过此功能,你可以获取你的应用程序密钥散列,并在facebook应用程序中更新密钥散列,如果得到相同的错误然后,请在facebook开发者控制台中检查您的应用程序包名称和应用程序id

 public void generateHashkey() {
        try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.integration",
                    PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());

                Log.i("Info", info.packageName + "\n" + Base64.encodeToString(md.digest(),
                        Base64.NO_WRAP));
            }
        } catch (PackageManager.NameNotFoundException e) {
            Log.d(TAG, e.getMessage(), e);
        } catch (NoSuchAlgorithmException e) {
            Log.d(TAG, e.getMessage(), e);
        }
    }

通过此功能,您可以获取应用程序密钥散列并在facebook应用程序中更新密钥散列,如果获得相同的错误,请在facebook开发者控制台中检查您的应用程序包名称和应用程序id

 public void generateHashkey() {
        try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.integration",
                    PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());

                Log.i("Info", info.packageName + "\n" + Base64.encodeToString(md.digest(),
                        Base64.NO_WRAP));
            }
        } catch (PackageManager.NameNotFoundException e) {
            Log.d(TAG, e.getMessage(), e);
        } catch (NoSuchAlgorithmException e) {
            Log.d(TAG, e.getMessage(), e);
        }
    }


当您发布版本APK时,我需要重新构建keyhash,但不知道为什么它们不同,并且需要使用此密钥来登录应用程序fb@PeDuCKA未收到您的评论。当您生成发布版本APK时,您需要重新生成密钥哈希和此密钥,以便在FBK中对应用程序进行签名。当您发布版本APK时,我需要重新构建keyhash,但不知道为什么它们不同,并且需要使用此密钥来登录应用程序fb@PeDuCKA未收到您的评论。在生成发布版本APK时,您需要重新生成密钥哈希和此密钥,以便在FBI中对应用程序进行签名。请检查应用程序id是否正确。我不知道从哪里添加了密钥散列。我在api 2.2上注册了我的应用程序,目前我使用的是sdk版本4.8.1,密钥散列不属于我的团队中的任何人。您可以通过以下函数通过oncreate函数获取密钥散列。检查了应用程序id。它是正确的。我不知道从哪里添加了密钥散列。我在api 2.2上注册了我的应用程序,目前我使用的是sdk版本4.8.1,密钥散列不属于我的团队中的任何人。您可以通过以下函数通过oncreate函数获得密钥散列。尝试过了,它给出的结果与terminal中的相同“keytool-exportcert-alias androiddebugkey-keystore~/.android/debug.keystore | openssl sha1-binary | openssl base64“。我已经补充了。我还添加了一个错误,但我仍然得到相同的错误,请使用此功能重试,如果您希望所有人都使用您的应用程序,请检查开发人员控制台的状态和查看选项,并启用适用于所有用户的开关可以使用您的应用程序您是否得到答案??“2ticxxxxxxxxxxxxxxxxxxxxxzx4a=”这是我在运行我从终端获得的代码后得到的。和“63y9***************************DK2jU”=“当我创建一个apk,然后在我的设备上运行它时,我得到的是我不知道它是谁的。我已经添加了这两个密钥,但仍然得到第二个密钥哈希无效的错误。我还检查了状态并检查了开关是否打开。尝试了它,它给出的结果与终端中的“keytool-exportcert-alias androiddebugkey-keystore~/.android/debug.keystore | openssl sha1-binary | openssl base64”相同。我已经补充过了。我还添加了一个错误,但我仍然得到相同的错误,请使用此功能重试,如果您希望所有人都使用您的应用程序,请检查开发人员控制台的状态和查看选项,并启用适用于所有用户的开关可以使用您的应用程序您是否得到答案??“2ticxxxxxxxxxxxxxxxxxxxxxzx4a=”这是我在运行我从终端获得的代码后得到的。和“63y9***************************DK2jU”=“当我创建一个apk,然后在我的设备上运行它时,我得到的是我不知道它是谁的。我已经添加了这两个选项,但第二个选项仍然出现无效密钥哈希错误。我还检查了状态并检查了开关是否打开。