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

React Native Android应用运行失败:Task :app:mergeDebugNativeLibs 报错

解决React Native Android更新Gradle和Kotlin后libfbjni.so冲突问题

问题原因

更新Gradle插件至3.6.3并添加Kotlin依赖后,项目中多个依赖库(如React Native核心库与部分第三方库)同时包含libfbjni.so文件,导致打包时Native库合并操作冲突。

解决方案

方案1:添加打包规则排除重复文件

在app模块的build.gradle文件中,于android代码块内新增packagingOptions配置,指定优先保留某一份libfbjni.so文件:

android {
    // 保留原有其他配置
    
    packagingOptions {
        pickFirst 'lib/armeabi-v7a/libfbjni.so'
        pickFirst 'lib/arm64-v8a/libfbjni.so'
        pickFirst 'lib/x86/libfbjni.so'
        pickFirst 'lib/x86_64/libfbjni.so'
    }
}

方案2:排查并修复依赖冲突

  1. 执行以下命令查看项目完整依赖树,定位重复引入fbjni的第三方库:
cd android
./gradlew app:dependencies
  1. 要么将冲突的第三方库升级至适配当前React Native版本的最新版,要么在依赖声明中排除旧版fbjni:
dependencies {
    // 示例:排除某第三方库中的fbjni依赖
    implementation('com.example:target-library:1.0.0') {
        exclude group: 'com.facebook.fbjni'
    }
}

方案3:清理项目缓存后重新构建

  1. 执行命令清理缓存与构建文件:
cd android
./gradlew clean
rm -rf .gradle
rm -rf ../node_modules
rm -rf ../package-lock.json
  1. 重新安装依赖并构建:
cd ..
npm install
cd android
./gradlew assembleDebug

额外优化提示

  • 当前compileSdkVersion与targetSdkVersion设置为31,但buildToolsVersion为29.0.2,建议将buildToolsVersion升级至与compileSdk匹配的版本(如31.0.0),减少版本不兼容风险
  • Kotlin 1.6.0与Gradle插件3.6.3兼容性良好,若后续仍有异常,可尝试将Gradle插件升级至4.x版本(需同步升级Gradle wrapper版本)

内容的提问来源于stack exchange,提问作者Muhammad Saqib Noor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:50:48