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

.NET MAUI中Firebase初始化失败求助:未初始化Default FirebaseApp

解决MAUI Android Firebase初始化报错问题

针对你遇到的Default FirebaseApp is not initialized in this process com.dev.testapp错误,按以下步骤排查修复:

1. 修正google-services.json的位置与配置

将google-services.json移动到Platforms/Android目录下,同时更新.csproj中的配置:

<ItemGroup Condition="'$(TargetFramework)' == 'net7.0-android'">
    <GoogleServicesJson Include="Platforms\Android\google-services.json" />
</ItemGroup>

右键该文件,设置生成操作为GoogleServicesJson,确保Google Services插件能正确读取配置。

2. 调整Firebase初始化时机

移除MauiProgram.cs中ConfigureLifecycleEvents里的Firebase初始化代码,转而在Platforms/Android/MainApplication.cs的OnCreate方法中初始化:

using Android.App;
using Android.Runtime;
using Firebase;

namespace YourAppName.Platforms.Android;

[Application]
public class MainApplication : MauiApplication
{
    public MainApplication(IntPtr handle, JniHandleOwnership ownership)
        : base(handle, ownership)
    {
    }

    protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();

    protected override void OnCreate()
    {
        base.OnCreate();
        // 初始化Firebase,避免重复初始化
        if (FirebaseApp.DefaultInstance == null)
        {
            FirebaseApp.InitializeApp(this);
        }
    }
}

这种方式能确保Firebase在应用启动早期完成初始化,避免后续服务调用时出现未初始化的问题。

3. 验证NuGet包兼容性

确保安装了适配.NET 7 Android的Firebase核心包(如Xamarin.Firebase.Core),并且所有Firebase相关包的版本保持一致,避免版本冲突导致初始化失败。

4. 清理重建项目

执行以下操作清除缓存:

  • 右键项目选择清理
  • 删除项目根目录下的bin和obj文件夹
  • 重新生成解决方案

5. 再次核对配置一致性

确认google-services.json中的package_name、.csproj中的ApplicationId、以及AndroidManifest.xml中的package属性完全一致(注意大小写和特殊字符)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 02:05:11