我正在使用Firebase身份验证和实时数据库构建应用。在昨天之前,测试时我的设备工作正常。但我现在甚至无法使用Firebase登录,但该应用正在处理我朋友的其他设备。
这里的实际问题是什么?测试app你自己的真实设备有任何限制吗?是否超出某种限制?
我尝试卸载应用并重新安装,从firebase数据库中删除用户帐户。但仍然没有工作。
谢谢!
答案 0 :(得分:1)
就我而言,它可以在模拟器上运行,但不能在实际设备上运行。解决方案是重置我的WiFi路由器。我不知道它为什么起作用,但确实起作用。这个答案对我有帮助:Firebase database listeners don't work on android with wifi
答案 1 :(得分:0)
我遇到了同样的问题并找到了解决方案。
Google登录在模拟器或连接的测试设备上运行良好,但在从Google Play商店下载firebase应用的实际设备上却无效。这是因为android studio生成的apk文件是默认调试证书指纹签名的,因为您在Google Play商店发布的应用程序是由不同的证书指纹签名的。
证书指纹都应该在firebase控制台中列入白名单,否则谷歌登录将不会对用户进行身份验证。
因此,要解决此问题,请执行以下两个步骤。
使用MAC上的以下命令生成发布证书指纹
MAC:
keytool -exportcert -list -v \
-alias 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
要详细了解其工作原理,请访问https://developer.android.com/studio/publish/app-signing.html