Android Studio Java App调用FirebaseAuth.getInstance()崩溃
问题核心结论
- 日志末尾的egl、蓝牙、电池相关报错和本次崩溃完全无关,这些都是系统进程输出的通用警告,不需要处理。
- 崩溃直接原因是你在调用
FirebaseAuth.getInstance()时,Firebase核心默认实例还没完成初始化。
排查解决步骤
按以下顺序逐一检查,绝大多数同类问题都能在前两步解决:
- 检查Gradle配置是否完整
打开项目根目录的Project级build.gradle,确认buildscript的依赖块中存在Google服务插件配置:
再打开app模块的Module级buildscript { dependencies { // 版本号可匹配你使用的Firebase SDK版本,不要低于4.3.10 classpath 'com.google.gms:google-services:4.3.15' } }build.gradle,确认文件最末尾有插件引入语句,漏加这行是最常见的触发原因:apply plugin: 'com.google.gms.google-services' - 检查配置文件位置是否正确
从Firebase控制台下载的google-services.json文件必须放在app模块的根目录下,和app模块的build.gradle文件同层级。不要放在项目根目录、res目录或者其他子文件夹下,位置不对会导致构建时无法注入初始化参数,运行时必然报未初始化错误。 - 特殊场景手动补初始化
如果做了多进程配置、或者自定义了Application类有复杂启动逻辑,直接在自定义Application的onCreate方法最开头,所有Firebase相关调用之前加初始化代码:
没有自定义Application类的话,新建一个继承自Application的类,再到@Override public void onCreate() { super.onCreate(); FirebaseApp.initializeApp(this); // 其他初始化逻辑 }AndroidManifest.xml的<application>标签下加android:name=".你新建的Application类名"配置即可。 - 清理缓存重构建
所有配置修改完成后,依次点击Android Studio菜单栏的Build -> Clean Project,清理完成后再点Build -> Rebuild Project,排除旧构建缓存导致的配置不生效问题。
末尾无关报错说明
你看到的egl、蓝牙、电池相关日志有两个明显特征可以直接判定和App崩溃无关:
- 这些日志的进程ID是1639,归属
system_process也就是安卓系统进程,你的App崩溃日志归属进程是com.example.nikespr,两者完全独立。 - 这类日志是安卓模拟器(尤其是x86架构的旧版模拟器)的通用输出:egl报错是GPU渲染兼容警告,蓝牙、电池统计报错是模拟器缺少对应实体硬件驱动的提示,所有跑在这个模拟器上的App都会看到这些日志,和你的业务代码没有关联,排查问题时直接过滤掉非自身应用包名的日志即可。
内容的提问来源于stack exchange,提问作者Saqalin Raza
相关产品推荐
相关产品推荐

