我无法从 Firebase 实时数据库模拟器读取(但在使用生产数据库时可以)

问题描述 投票:0回答:1

我是一名新的 Android 开发人员,正在使用 Firebase 模拟器在开发过程中测试我的项目。我的项目同时使用 Firebase Auth 和 Firebase 实时数据库。连接到模拟器时,Firebase Auth 按预期工作,我什至可以将数据写入实时数据库模拟器。但是,我无法从中读取内容。当我尝试这样做时,我在 Android Studio 中收到以下警告:

pc_1 - 提供的身份验证凭据无效。这通常表明您的 FirebaseApp 实例未正确初始化。确保您的 google-services.json 文件具有正确的 firebase_url 和 api_key。您可以从 https://console.firebase.google.com/ 重新下载 google-services.json。\ 忽略标头 X-Firebase-Locale 因为它的值为 null。

我按如下方式初始化 Firebase 模拟器:

Firebase.auth.useEmulator("10.0.2.2", 9099)
Firebase.database.useEmulator("10.0.2.2", 9000)

我重新下载了google-services.json,但这没有效果。我已检查默认 FirebaseApp 实例中的值,它们与 google-services.json 中的值匹配。我已卸载并重新安装 Firebase CLI 工具,但这没有帮助。我也知道这不是我的安全规则的问题,因为即使我将读取和写入设置为 true,问题仍然存在。

更奇怪的是我使用生产数据库时没有任何问题。我可以写入和读取产品数据库。有没有人遇到过类似的问题并且可以帮忙?我现在被迫在我的生产数据库上进行测试,这显然不理想。

android firebase firebase-realtime-database firebase-tools
1个回答
0
投票

想通了。我的数据库引用是在设置模拟器之前创建的,这就是原因。仍然不知道为什么它只破坏了从模拟数据库的读取而不是写入,但我很高兴它已修复。

© www.soinside.com 2019 - 2024. All rights reserved.