Android设备上的Android Facebook集成无效密钥哈希错误,但在模拟器

时间:2017-11-17 07:37:29

标签: android android-emulator android-facebook android-debug

当我在我的Android设备上运行我的Android应用程序时,我第一次点击继续使用Facebook 按钮时工作正常。当我在注销后尝试再次登录时显示错误& #34;无效密钥有"密钥与任何存储的密钥哈希都不匹配。我已经重新生成了密钥哈希,并在facebook上替换了新密钥。 btt仍然没有得到结果。

First time I had easily logged-in, But after logged out again I'm trying to Continues with Facebook but it is showing an error message "Invalid Key has":

但是同样的应用程序在Emulator上运行得很好。为什么它不能在我的设备上运行?

2 个答案:

答案 0 :(得分:1)

以下是您需要做的事情 -

Code下载openSSl解压缩。在C:/中创建一个文件夹-OpenSSL,并在此复制提取的代码。

检测debug.keystore文件路径。如果你没找到,那么在C:/中搜索并在下一步中使用命令中的Path。

检测您的keytool.exe路径并转到该dir / in命令提示符并在1行中运行此命令 -

$ keytool -exportcert -alias androiddebugkey -keystore "C:\Documents and Settings\Administrator.android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 -binary |"C:\OpenSSL\bin\openssl" base64

它会要求输入密码,把android全部放进去。你会得到一个密钥哈希

答案 1 :(得分:0)

嗨将此代码放入任何可访问的活动的onCreate方法中,以在控制台中打印哈希键,并使用该应用程序更新您的facebook链接帐户中的哈希键。

try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.facebook.samples.loginhowto", 
                    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) {

        }