Firebase 无法在 Android Studio 模拟器上运行

Seb*_*n J 17 android android-emulator firebase firebase-authentication

我当时正在做一个学习项目,一切正常,但我将操作系统更改为 win11,同时擦除了所有以前的数据。
现在,在使用任何类型的登录后,Firebase 都会停留在“正在加载”状态。实时数据库数据也不会显示。等待大约 5-10 个小时后,身份验证有时会连续工作(可以多次登录、注销,直到再次运行应用程序),但数据库永远不会。
当我使用物理设备时一切正常。没有 firebase 的应用程序在模拟器上运行良好。互联网连接正常。不起作用的示例应用程序: https:
//github.com/firebase/quickstart-android

我有:

  1. 使用多个不同的模拟器(带有google play的模拟器)和不同的sdk
  2. 更改了 SHA1 和 google-servies.json
  3. 在设置 -> 外观和行为 -> SDK 工具中下载并激活 Google play 服务
  4. 重新安装Android Studio,再次安装win10
  5. 更新了 Google Play 服务版本
  6. 在不同的 firebase 帐户上尝试了不同的项目
  7. 在 firebase 控制台中激活的登录方法
  8. 在网上搜索了几个小时并做了许多其他我现在都不记得的事情

我有时遇到的唯一错误是:
E/FirebaseInstanceId:绑定到服务失败
,并且当我第一次使用新模拟器时出现此错误:
E/FirebaseMessaging:硬故障异常时主题同步或令牌检索失败:java.util .concurrent.ExecutionException:java.io.IOException:AUTHENTICATION_FAILED。不会重试该操作。
E/FirebaseInstanceId:主题同步或令牌检索因硬故障异常而失败:AUTHENTICATION_FAILED。不会重试该操作。
E/FA:缺少 google_app_id。Firebase 分析已禁用。
E/FA:无法上传。应用程序测量已禁用

对我来说,似乎有什么东西正在阻止(或真正减慢)android studio 模拟器和 firebase 之间的连接。
我将非常感谢任何形式的帮助,这对我的学习非常重要。

Seb*_*n J 18

解决我问题的方法是从以下网站安装旧版本的 android 模拟器: https:
//developer.android.com/studio/emulator_archive
我正在使用 Android 模拟器 (31.3.10) Beta 1 并切换到 Android 模拟器 (30.9.5) )解决了问题。


小智 10

我认为这是模拟器......或者至少对我来说是这样。我正在使用版本 31.3.10 并遇到了同样的问题。应用程序无法连接到模拟器中的 Firebase 服务器。Firebase 身份验证最终会起作用,但需要很长时间才能登录。Firebase 仅使用本地数据。对 Firebase 的查询仅从缓存返回结果(无论如何缓存都是空的),我可以看到这一点(QuerySnapshot.metadata.isFromCache是真的)。尝试重新安装应用程序,删除模拟器映像并制作一个新映像,但没有任何效果。模拟器上的互联网访问很好,我可以浏览网页等。唯一有效的是降级模拟器。我回到了 2010 年 2 月 31 日,因为我知道其中一个有效。您可以从https://developer.android.com/studio/emulator_archive获取旧版本

我真的希望他们尽快解决这个问题,因为我花了一整天的时间才弄清楚到底是怎么回事。希望这对其他人有帮助。


Con*_*tin 9

我也有同样的问题。它发生在几次更新之后:Windows 和 Android Studio。显然,它是模拟器(版本 31.3.10)。

就我而言,问题的解决方案是在模拟器中禁用 Wi-Fi 并启用移动互联网。尽管实际上 Windows 中的连接保持不变。