Flutter最新依赖下Firebase.initializeApp仍报错问题排查
Flutter Firebase.initializeApp 连接错误修复(升级依赖无效场景)
网上多数StackOverflow回答提到,调用Firebase.initializeApp返回连接错误时,升级所有Firebase相关依赖即可修复,但本地所有Firebase相关依赖已经更新到最新版本时,该方案完全无效。
前置环境检查结果
执行flutter pub outdated检查依赖版本,所有直接依赖、开发依赖均已更新到当前环境可兼容的最新版本:
flutter pub outdated Showing outdated packages. [*] indicates versions that are not the latest available. Package Name Current Upgradable Resolvable Latest direct dependencies: all up-to-date. dev_dependencies: all up-to-date. transitive dependencies: async *2.8.2 *2.8.2 *2.8.2 2.9.0 characters *1.2.0 *1.2.0 *1.2.0 1.2.1 clock *1.1.0 *1.1.0 *1.1.0 1.1.1 fake_async *1.3.0 *1.3.0 *1.3.0 1.3.1 matcher *0.12.11 *0.12.11 *0.12.11 0.12.12 material_color_utilities *0.1.4 *0.1.4 *0.1.4 0.1.5 meta *1.7.0 *1.7.0 *1.7.0 1.8.0 path *1.8.1 *1.8.1 *1.8.1 1.8.2 source_span *1.8.2 *1.8.2 *1.8.2 1.9.0 string_scanner *1.1.0 *1.1.0 *1.1.0 1.1.1 term_glyph *1.2.0 *1.2.0 *1.2.0 1.2.1 test_api *0.4.9 *0.4.9 *0.4.9 0.4.12 all dependencies are up-to-date.
执行flutter doctor检查开发环境,无任何配置异常:
flutter doctor Doctor summary (to see all details, run flutter doctor -v): [√] Flutter (Channel stable, 3.0.4, on Microsoft Windows [Version 10.0.22000.739], locale en-US) [√] Android toolchain - develop for Android devices (Android SDK version 33.0.0) [√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.16) [√] Android Studio (version 2021.2) [√] VS Code (version 1.69.0) [√] Connected device (1 available) [√] HTTP Host Availability • No issues found!
已按照Firebase官方文档完成全部前置配置:google-services.json路径配置正确、Gradle插件配置完成、pubspec.yaml依赖配置无误,但初始化依然抛出连接错误,相关报错及配置如下:

针对性修复步骤
别再死磕依赖升级了,按下面的顺序逐一排查,绝大多数同场景问题都能解决:
- 核对包名一致性
打开app模块下的build.gradle,核对applicationId和Firebase控制台注册的应用包名完全一致,大小写、字段分段不能有任何偏差。核对完成后重新从Firebase控制台下载对应应用的google-services.json,直接替换项目里的旧文件,别用之前下载的历史版本。 - 核对Gradle配置
打开项目根目录的build.gradle,Flutter 3.0.4稳定版对应使用classpath 'com.google.gms:google-services:4.3.13'即可,不要用太老或者太新的插件版本避免兼容问题。同时确认app模块的build.gradle文件底部已经加了apply plugin: 'com.google.gms.google-services',缺这行配置哪怕json放对位置也连不上。 - 排查网络连通性
Firebase在国内没有服务节点,如果开发设备和调试设备没有配置可用的全局代理,初始化请求会直接超时抛连接错误,给调试设备、开发环境配置好可正常访问海外服务的网络即可。 - 清理缓存重编译
配置修改完成后执行以下命令清理旧构建缓存,避免历史配置残留:
清理完成后重新运行应用即可正常完成初始化。flutter clean flutter pub get
内容的提问来源于stack exchange,提问作者Kvn
相关产品推荐
相关产品推荐

