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

React Native安卓端启动即崩溃,报Firebase Blocking Thread #0致命异常

React Native安卓端启动即崩溃,报Firebase Blocking Thread #0致命异常

兄弟,我维护老项目时也碰到过一模一样的问题!iOS跑起来完全正常,安卓一启动就直接崩,看日志全是Firebase相关的报错,这基本就是Firebase和Google Play Services组件版本不匹配搞的鬼——毕竟老项目多人维护,很容易出现依赖版本乱飘的情况。给你几个亲测有效的解决步骤:

1. 统一Firebase相关依赖版本

先在android/build.gradle里用全局变量把所有Firebase和Google Play Services的版本统一管理,避免各个依赖用不同版本:

buildscript {
    ext {
        // 选一个和你RN版本兼容的稳定版本,比如29.x系列
        firebase_version = "29.0.0"
        play_services_version = "17.0.0"
    }
    // ...保留原有其他配置
}

然后在android/app/build.gradle里所有涉及Firebase和Google Play Services的依赖都用这个变量,比如:

implementation "com.google.firebase:firebase-installations:$firebase_version"
implementation "com.google.android.gms:play-services-tasks:$play_services_version"

2. 清理安卓构建缓存并刷新依赖

缓存经常会搞事情,先把旧缓存清干净再重新构建:

cd android
./gradlew clean
./gradlew build --refresh-dependencies

之后回到项目根目录重新运行安卓项目即可。

3. 排查并解决依赖冲突

如果统一版本后还是有问题,就查看依赖树找冲突的组件:

cd android
./gradlew app:dependencies

找一下有没有不同版本的play-services-tasks或者firebase-installations,如果有的话,在对应的依赖里把旧版本排除掉,比如:

implementation('某个第三方依赖') {
    exclude group: 'com.google.android.gms', module: 'play-services-tasks'
}

4. 检查ProGuard配置(如果开启了混淆)

要是你的项目开了ProGuard,有可能是它把Firebase的关键类混淆掉了,在android/app/proguard-rules.pro里加上这两条规则:

-keep class com.google.android.gms.common.internal.Preconditions { *; }
-keep class com.google.android.gms.tasks.Tasks { *; }

一般来说,按上面这几步走,版本冲突的问题就能解决了,毕竟老项目最容易栽在依赖版本不一致上。

备注:内容来源于stack exchange,提问作者Vlad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 08:17:59