You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter项目Firebase连接失败及SHA-1生成问题求助

Flutter Firebase连接失败&签名报告生成报错解决方案

一、Firebase连接失败排查与修复

1. 先添加错误日志定位问题

你的main.dart中FutureBuilder的错误分支是空的,无法得知初始化失败的具体原因,先补充错误处理代码:

if (snapshot.hasError) {
  // 打印错误到控制台,方便排查
  print('Firebase初始化错误: ${snapshot.error}');
  // 返回错误提示页面
  return MaterialApp(
    home: Scaffold(
      body: Center(
        child: Text('Firebase初始化失败: ${snapshot.error}'),
      ),
    ),
  );
}

运行后查看控制台输出,就能明确具体失败原因。

2. 常见连接问题排查

  • 配置文件验证:确认Android端的google-services.json放在android/app/目录,iOS端的GoogleService-Info.plist已添加到Xcode项目(勾选"Copy items if needed"),且两个文件都是从Firebase控制台对应应用下载的最新版本,包名/ Bundle ID完全匹配控制台填写的值。
  • SHA-1缺失:Android必须将应用的SHA-1添加到Firebase控制台(需先解决签名报告生成问题)。
  • 初始化参数:如果项目有多个Firebase环境,需在Firebase.initializeApp()中指定options,示例:
Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

(需先导入firebase_core的DefaultFirebaseOptions,可通过flutterfire configure命令生成)

二、Android签名报告生成报错修复

你的android/app/build.gradle第28行(targetSdkVersion 31.0.1)存在错误:targetSdkVersion必须是整数API级别,不能带小数点。31.0.1是SDK的具体版本号,对应的API级别是31,修改为:

defaultConfig {
    // ...其他配置
    targetSdkVersion 31
    // ...其他配置
}

修改后执行以下命令生成签名报告:

# 在项目根目录执行
./gradlew signingReport

或者在Android Studio中,打开右侧"Gradle"面板,找到app > Tasks > android > signingReport,双击执行即可获取SHA-1值,之后将其添加到Firebase控制台的应用设置中。

额外提示

  • 确保firebase_core依赖已正确添加到pubspec.yaml,且版本与Firebase BOM版本兼容。
  • 执行flutter clean后重新运行项目,清除缓存。

内容的提问来源于stack exchange,提问作者edgam85

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 04:40:39