.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
相关产品推荐
相关产品推荐

