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

向现有React Native项目添加OneSignal时的依赖冲突问题

解决React Native集成OneSignal与Firebase依赖冲突问题

解决方案

1. 强制统一Firebase依赖版本

在项目根目录的android/build.gradle中,修改allprojects块,添加依赖解析策略,强制所有模块使用与react-native-firebase匹配的Firebase版本:

allprojects {
    repositories {
        // 保留原有仓库配置
    }

    configurations.all {
        resolutionStrategy {
            force 'com.google.firebase:firebase-messaging:23.4.1'
            force 'com.google.firebase:firebase-core:21.1.1'
        }
    }
}

2. 升级Google Services插件版本

旧版Google Services插件可能对高版本Firebase的兼容性判断有误,将插件升级到兼容版本。在android/build.gradle的buildscript块中修改:

buildscript {
    dependencies {
        // 保留其他依赖配置
        classpath 'com.google.gms:google-services:4.3.15'
    }
}

3. 临时禁用版本检查(不推荐)

如果前两种方案暂时无法生效,可在android/app/build.gradle中添加配置绕过版本检查,但这可能隐藏潜在兼容性问题:

googleServices {
    disableVersionCheck = true
}

4. 清理缓存并重新构建

执行以下命令清理Gradle缓存,确保依赖配置生效:

cd android
./gradlew clean
./gradlew --stop
cd ..
npx react-native run-android

问题原因

OneSignal 5.x依赖的Firebase Messaging版本范围为[19.0.0, 23.4.99],你的项目中@react-native-firebase/app@16.5.0锁定的23.4.1版本实际处于该范围内,但旧版Google Services插件或Gradle依赖解析策略误判了版本兼容性,导致冲突报错。通过统一依赖版本或升级插件即可解决该问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 08:44:51