Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 重新安装后错误的facebook哈希_Android_Facebook_Facebook Login - Fatal编程技术网

Android 重新安装后错误的facebook哈希

Android 重新安装后错误的facebook哈希,android,facebook,facebook-login,Android,Facebook,Facebook Login,我有个奇怪的问题 我正在尝试使用他们的sdk将facebook登录集成到我的应用程序中。我能够使登录工作,一切顺利。现在我们希望发布该产品,所以我签署了apk,并使用openssl命令将发布密钥哈希添加到facebook 为了正确地测试每一件事,我从设备上删除了这个应用程序,并以用户身份从我的facebook帐户上清除了它。 安装应用程序后,我确实能够登录,一切正常。但是,在再次卸载应用程序(这次没有从facebook帐户清除应用程序)并再次安装后,我收到一个哈希键不匹配的消息。这对我来说毫无意

我有个奇怪的问题

我正在尝试使用他们的sdk将facebook登录集成到我的应用程序中。我能够使登录工作,一切顺利。现在我们希望发布该产品,所以我签署了apk,并使用openssl命令将发布密钥哈希添加到facebook

为了正确地测试每一件事,我从设备上删除了这个应用程序,并以用户身份从我的facebook帐户上清除了它。 安装应用程序后,我确实能够登录,一切正常。但是,在再次卸载应用程序(这次没有从facebook帐户清除应用程序)并再次安装后,我收到一个哈希键不匹配的消息。这对我来说毫无意义,因为我使用的是同一个签名的apk

还要注意,只有在设备上安装了本机facebook应用程序时,才会发生这种奇怪的事情


以前有人遇到过这样的问题吗?我已经为此绞尽脑汁了一段时间了

对不起,我没有评论的名声,但以前也发生过同样的事情。 当我们创建release apk时,它将生成新的哈希键。为此,您可以从android studio运行发布模式apk,将密钥从代码写入控制台,然后将该密钥也添加到Facebook帐户。生成密钥代码的步骤如下所示:

//获取facebook帐户的密钥哈希

 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.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
    }
} catch (PackageManager.NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

你是通过代码生成散列密钥吗?@VivekMishra我在命令行中使用openssl 9.8k生成代码,使用:keytool-exportcert-alias-keystore | openssl sha1-binary | openssl Base64这对我很有效,只是在你使用它获取散列后的一个附带说明不要忘记注释日志以避免暴露你的秘密散列