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

Android应用启动崩溃:FirebaseApp未初始化问题求助

应用启动崩溃:FirebaseApp未初始化问题

我用XML和Java开发的应用启动即崩溃,报错信息如下:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.iseeu, PID: 32375
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.iseeu/com.example.iseeu.MainActivity}: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.example.iseeu. Make sure to call FirebaseApp.initializeApp(Context) first.
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3654)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3806)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2267)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:8167)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
     Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.example.iseeu. Make sure to call FirebaseApp.initializeApp(Context) first.
        at com.google.firebase.FirebaseApp.getInstance(FirebaseApp.java:179)
        at com.google.firebase.storage.FirebaseStorage.getInstance(FirebaseStorage.java:106)
        at com.example.iseeu.MainActivity.onCreate(MainActivity.java:39)
        at android.app.Activity.performCreate(Activity.java:7963)
        at android.app.Activity.performCreate(Activity.java:7952)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3629)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3806)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2267)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:8167)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)

错误定位在MainActivity.java第39行:

FirebaseStorage.getInstance().getReference().child("images").listAll().addOnSuccessListener(new OnSuccessListener<ListResult>() {

我不确定问题出在FirebaseStorage还是getInstance()上,已经被这个问题困扰4周,恳请帮忙解决,谢谢!


问题原因&解决方案

问题根源不是FirebaseStorage本身,而是FirebaseApp未完成初始化就调用了FirebaseStorage.getInstance()——底层获取FirebaseApp实例时失败,抛出了IllegalStateException。

按以下步骤排查修复:

  1. 检查Firebase配置文件

    • 确认google-services.json已正确下载并放在app模块的根目录下(和src同级)
    • 配置文件要对应当前的应用包名,避免包名不匹配导致初始化失败
  2. 验证Gradle配置

    • 在项目根目录的build.gradle中,确保已添加Google服务插件依赖:
      dependencies {
          classpath 'com.google.gms:google-services:4.4.0' // 使用当前最新兼容版本
      }
      
    • 在app模块的build.gradle末尾,添加插件应用:
      apply plugin: 'com.google.gms.google-services'
      
    • 同步Gradle,确保所有Firebase相关依赖(比如Firebase Storage)已正确引入
  3. 手动初始化Firebase(自动初始化失效时)

    • 新建自定义Application类:
      public class MyApp extends Application {
          @Override
          public void onCreate() {
              super.onCreate();
              FirebaseApp.initializeApp(this);
          }
      }
      
    • 在AndroidManifest.xml的<application>标签中指定该类:
      <application
          android:name=".MyApp"
          ...>
          ...
      </application>
      

完成以上步骤后,重新编译运行应用,应该能解决初始化失败的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 14:08:11