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

修改compileSdkVersion至31后出现com.facebook.jni类重复编译错误求助

修复React Native Android compileSdkVersion 31下fbjni类重复冲突问题

1. 强制统一fbjni版本

在项目根目录的build.gradle(非app模块下的配置文件)中添加依赖分辨率规则,强制所有模块使用同一版本的fbjni,推荐选用较新的0.3.0版本:

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

    configurations.all {
        resolutionStrategy {
            force 'com.facebook.fbjni:fbjni:0.3.0'
            force 'com.facebook.fbjni:fbjni-java-only:0.3.0'
        }
    }
}

该操作能确保所有依赖链中的fbjni版本统一,从根源避免类重复冲突。

2. 清理依赖缓存

执行以下Gradle命令清理旧缓存并刷新依赖,避免残留的旧版本文件干扰编译:

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

Windows环境替换为gradlew.bat执行对应命令。

3. 定位并排除冲突依赖

若强制版本后仍报错,通过依赖树命令找到引入旧版本fbjni的依赖库:

./gradlew app:dependencies

在app模块的build.gradle中,对该依赖添加排除规则,示例如下:

dependencies {
    // 假设react-native依赖引入了旧版本fbjni-java-only,添加排除规则
    implementation('com.facebook.react:react-native:你的RN版本号') {
        exclude group: 'com.facebook.fbjni', module: 'fbjni-java-only'
    }
}

4. 升级React Native版本(可选)

如果你的RN版本较旧,可能对compileSdkVersion 31的适配存在缺陷,尝试升级到0.68及以上版本,这类版本通常已修复相关依赖冲突问题。

内容的提问来源于stack exchange,提问作者Alija Fajic

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:15:38