java - 为什么 Facebook 登录无法在 Android 中的签名版本 APK 中工作?

标签 java android firebase facebook facebook-android-sdk

我正在开发一个Android应用程序,为用户提供Firebase帮助下的Facebook登录,我的问题是当我生成签名的发布APK时,登录停止工作,我查找了一些解决方案,我发现所有解决方案都是相同的是从此代码生成 key 哈希:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | PATH_TO_OPENSSL_LIBRARY\bin\openssl sha1 -binary | PATH_TO_OPENSSL_LIBRARY\bin\openssl base64

每次打开 cmd 或 android studio 终端时,我都会执行 1000 次,然后导航到 JDK 位置,这样我就可以访问 keytool.exe 来运行上面的命令,然后将 key 哈希复制并粘贴到我的 facebook 中在“设置”->“基本”中打开开发者帐户,然后打开 Android 应用部分并将 key 哈希粘贴到“ key 哈希”字段中,所以我的问题再次出现:在生成签名的发布 apk 后 Facebook 登录无法正常工作 在安卓中。

最佳答案

如果您有 APK

您可以从构建的 apk 中提取签名。它通常位于 <projectDir>/app/build/outputs/apk/* 中构建之后通过使用 this question 的答案.

获取调试签名

调试应用程序时,您将使用调试 keystore 对应用程序进行签名。这位于~/.android/debug.keystore在 Linux/Mac OS 或 C:\Users\user\.android\debug.keystore 中在 Windows 上。

使用 Google 应用签名时

请参阅下面的屏幕截图来检查您是否正在使用 Google 应用签名。如果已启用,请使用 Google 提供的签名信息。

Google App Signing screenshot

关于java - 为什么 Facebook 登录无法在 Android 中的签名版本 APK 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61203233/

相关文章:

javascript - 如何使用 javaScript 在 Firebase 数据库中检索嵌套的子值?

java - 字符串到日历对象

java - 我可以从另一个网络应用程序控制一个网络应用程序吗?

android - 应用程序崩溃 “android.app.Application cannot be cast to”

Android 相当于 iOS 的 SFSafariViewController

java - 如何在不下载 child 的情况下从 Firebase 获取 child key ?

java - 如何在 greenDAO 中使用 OR 查询?

java - java.net.DatagramSocket 中对构造函数 "super(null)"的调用不明确?

c# - Xamarin Forms Listview 的条目与自定义选择器冲突

java - 当应用程序关闭时,我可以不断地从服务类中收听数据变化吗?