You need to enable JavaScript to run this app. Flutter Firebase应用Web端运行正常但安卓端登录失败,提示Firebase未初始化
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Firebase应用Web端运行正常但安卓端登录失败,提示Firebase未初始化

问题修复方案

核心原因

Chrome端正常是因为Web端可通过index.html引入的Firebase CDN配置完成初始化,安卓端必须走原生初始化流程,你当前的代码和配置缺少安卓端必要的初始化逻辑。

修复步骤

1. 修正Flutter主入口初始化逻辑

在main函数中先完成Flutter绑定和Firebase初始化再启动应用,修正后的代码如下:

import 'package:flutter/material.dart';
import 'package:noteit/views/signin.dart';
import 'package:firebase_core/firebase_core.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'NoteIt',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const SignIn()
    );
  }
}

同时删除你代码末尾冗余的@override Widget build方法,该语法错误会导致编译异常。

2. 补全安卓Gradle配置

  • 打开项目根目录下的android/build.gradle文件,在dependencies块中添加Google服务插件依赖:
dependencies {
    // 原有其他依赖保留
    classpath 'com.google.gms:google-services:4.3.15' // 可使用官方最新版本
}
  • 打开android/app/build.gradle文件,在文件末尾追加一行配置:
apply plugin: 'com.google.gms.google-services'

3. 确认配置文件放置位置

将从Firebase控制台下载的google-services.json文件放到android/app目录下,检查文件内的package_name字段与android/app/build.gradle中定义的applicationId完全一致。

4. 重新编译

运行以下命令清理缓存后重新编译:

flutter clean
flutter pub get

卸载安卓设备上已安装的旧版本应用后重新运行安装即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 23:30:04