Flutter安卓模拟器(SDK API33)无法连接Firebase服务求助
Flutter Firebase在API33安卓模拟器的登录及超时问题解决
错误信息翻译
- 点击登录按钮时的调试日志:
[ +873 ms] W/System( 7190): 忽略头部X-Firebase-Locale,因为其值为null。 - 重建应用时的提示:
W/FIAM.Headless( 7190): 服务获取错误:DEADLINE_EXCEEDED:超时,耗时29.807599400秒。
具体解决步骤
- 检查模拟器网络连通性
确认模拟器WiFi已正常连接,可通过内置浏览器访问外网验证;若网络异常,重启模拟器网络模块,或切换网络模式(如NAT改桥接)。 - 修复Firebase Locale空值问题
在Auth初始化代码中手动指定默认语言,避免X-Firebase-Locale为空:FirebaseAuth.instance.setLanguageCode('zh-CN'); - 解决FIAM超时错误
- 执行
flutter clean清理项目缓存,再次清空模拟器应用数据; - 更新pubspec.yaml中firebase_core、firebase_auth、cloud_firestore等依赖到最新稳定版,执行
flutter pub get; - 检查模拟器系统时间是否与当前时间一致,时间偏差会导致Firebase服务验证超时;
- 临时禁用FIAM服务,在AndroidManifest.xml中添加配置:
<meta-data android:name="firebase_inapp_messaging_auto_init_enabled" android:value="false" />
- 执行
- 其他排查动作
- 确认firebase_options.dart中的项目配置(API密钥、项目ID等)无错误;
- 尝试切换到API34版本的安卓模拟器测试,排查API33兼容性问题;
- 重启电脑与模拟器,彻底清除缓存后重新构建应用。
内容的提问来源于stack exchange,提问作者Lucas Knötig
相关产品推荐
相关产品推荐

