【问题标题】:Firebase for android not working in my test device suddenlyFirebase for android 突然无法在我的测试设备中工作
【发布时间】:2016-11-06 18:30:57
【问题描述】:

我正在使用 Firebase 身份验证和实时数据库构建应用。昨天之前,它在测试时在我的设备中运行良好。但我现在什至无法使用 Firebase 登录,但该应用正在我朋友的其他设备上运行。

这里的实际问题是什么?在您自己的真实设备上测试应用程序是否有任何限制?是否超出了某种限制?

我尝试卸载应用程序并重新安装,从 firebase 数据库中删除用户帐户。但仍然没有工作。

谢谢!!

【问题讨论】:

  • 你检查了 Firebase 控制台吗?
  • 是的,经过身份验证的用户凭据已添加到那里,甚至是我的。但是他们可以通过登录屏幕并进行交互,但我不能。(不是我的设备)。 @joaquin
  • 我也有同样的问题,@RoshanGautam 你找到解决办法了吗?
  • 更新我的评论。最后发现这是因为我的登录/注销逻辑。我实际上并没有正确注销,因此可能正在进行多个会话。

标签: android firebase firebase-realtime-database firebase-authentication


【解决方案1】:

我遇到了同样的问题并找到了解决方案。

Google 登录在模拟器或连接的测试设备上运行良好,但在从 google play 商店下载您的 firebase 应用的实际设备上却无法正常运行。这是因为您的 android studio 生成的 apk 文件默认使用调试证书指纹签名,而您在 google play store 上发布的应用程序使用不同的证书指纹签名。

两个证书指纹都应该在 firebase 控制台中列入白名单,否则 google 登录将无法对用户进行身份验证。

所以要解决这个问题,请遵循两个步骤。

  1. 在 MAC 上使用以下命令生成发布证书指纹

    MAC: keytool -exportcert -list -v \ -别名your-key-name -keystore path-to-production-keystore

你会得到如下输出:

keytool -exportcert -list -v \ -alias aliasName -keystore /pathToKeystore/keyStore.jks 输入密钥库密码: 创建日期:2017年5月27日 条目类型:PrivateKeyEntry 证书链长:1 证书指纹: MD5: 11:D0:F1:F6:26:F3:44:77:88 SHA1:D6:44:55:66:77:88:99:55:HH:AC:DB:17:8A

SHA1: 是你的指纹密钥,复制它。

有关如何在 MAC/WINDOWS 上生成指纹的更多信息,请访问https://developers.google.com/android/guides/client-auth

  1. 将上述 SHA1 密钥粘贴到您的 Firebase“项目设置”并保存。 Google 登录现在应该可以正常工作了。

如需详细了解其工作原理,请访问https://developer.android.com/studio/publish/app-signing.html

【讨论】:

    【解决方案2】:

    就我而言,它可以在模拟器上运行,但不能在我的实际设备上运行。解决方案是重置我的 WiFi 路由器。我不知道为什么它有效,但它确实有效。这个答案帮助了我:Firebase database listeners don't work on android with wifi

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-04
      • 1970-01-01
      相关资源
      最近更新 更多