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

React Native项目构建失败:mergeDebugNativeLibs任务报错求助

React Native构建失败:重复libfbjni.so文件冲突问题

报错信息

Execution failed for task ':app:mergeDebugNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction
   > 2 files found with path 'lib/arm64-v8a/libfbjni.so' from inputs:
      - C:\Users\Antonio\.gradle\caches\transforms-3\7cca348744e25f57fc2d9f871aa73c9a\transformed\jetified-react-native-0.71.0-rc.0-debug\jni\arm64-v8a\libfbjni.so
      - C:\Users\Antonio\.gradle\caches\transforms-3\08b0f5c7017bf081f79b63ea5b053dc0\transformed\jetified-fbjni-0.3.0\jni\arm64-v8a\libfbjni.so
     If you are using jniLibs and CMake IMPORTED targets, see
     https://developer.android.com/r/tools/jniLibs-vs-imported-targets

原因分析

  • React Native 0.71.0-rc.0版本本身已内置libfbjni.so文件,但项目同时引入了独立的fbjni-0.3.0依赖,两者构建时输出同路径的so文件,导致合并冲突。
  • 即使未手动修改依赖,也可能是第三方库的传递性依赖导致:某个已安装的第三方库间接引入了独立的fbjni包,和RN自带版本产生冲突。
  • Gradle缓存异常也可能引发该问题,比如缓存中残留旧的依赖文件,导致构建时重复读取。

解决方法

1. 排查并排除重复依赖

在项目根目录执行命令查看完整依赖树:

./gradlew app:dependencies

找到所有引用fbjni的依赖项,在android/app/build.gradle的dependencies块中添加排除规则:

// 示例:针对特定第三方库排除fbjni依赖
implementation('第三方库坐标') {
    exclude group: 'com.facebook.fbjni'
}

// 或者全局排除重复的fbjni依赖
configurations.all {
    exclude group: 'com.facebook.fbjni', module: 'fbjni'
}

2. 清理Gradle缓存

执行以下命令清理缓存后重新构建:

./gradlew clean
# Windows系统手动删除C:\Users\你的用户名\.gradle\caches文件夹
# macOS/Linux系统执行 rm -rf ~/.gradle/caches
npm run android

3. 移除手动添加的fbjni依赖

检查项目的package.json或android/build.gradle,若有手动添加的fbjni依赖直接移除——RN 0.71.x系列已集成对应版本的fbjni,无需额外引入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 13:01:05