Firebase Android - 如何生成Facebook哈希密钥。包名称和签名证书指纹不匹配

时间:2017-03-30 12:50:20

标签: android firebase firebase-authentication facebook-login

我在我的Android应用程序中使用firebase登录到facebook后出现此错误。

  

身份验证失败:com.google.firebase.FirebaseExeption:发生了内部错误。

     

包名称和签名证书指纹不匹配。

我的firebase控制台中有一个sha指纹和正确的包名。 我已将应用程序上传到Beta测试,我认为我需要一个释放sha键。但我不知道如何创建它。

任何帮助?

1 个答案:

答案 0 :(得分:1)

我找到了答案。

我不得不使用这个命令:

keytool -exportcert -alias androiddebugkey -keystore ~/YOUR/PATH/TO/KEYSTORE -list -v

并在我的项目中将KEYSTORE路径设置为 .jdk 文件。

(创建签名APK时会生成.jdk文件)

我是这样做的

<强>说明:

首先:在终端窗口(Mac)中键入此内容以生成debug.keystore

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

  • 我建议不要改变别名。

  • 使用“android”作为密码。

  • 将debug.keystore文件保留在.android文件夹

第二:在我们检索要发布的哈希密钥之前,我们需要创建一个 .jdk 文件。您可以通过Android Studio执行此操作 - &gt; “构建”-tab - &gt; “生成签名APK”。或者,如果您正在开发 Cordova应用,可以在项目目录中输入 .jdk 来创建 .jdk 文件:

keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias

创建.jdk文件后,您可以为Facebook创建发布哈希

第三次:在终端输入:

keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64

YOUR_RELEASE_KEY_ALIAS 更改为您给 .jdk文件的别名,并将“ YOUR_RELEASE_KEY_PATH ”设置为 .jdk文件。这样的事情:〜/ apps / myApp / myApp.jdk

最后它可能如下所示:

keytool -exportcert -alias myApp -keystore ~/apps/myApp/myApp.jdk | openssl sha1 -binary | openssl base64