React Native安卓构建报错:Task :app:mergeDebugNativeLibs失败
解决React Native安卓构建的核心报错问题
一、处理Task :app:checkDebugAarMetadata FAILED报错
该报错多因JDK版本不兼容、Android SDK配置缺失或依赖版本冲突导致,修复步骤:
- 匹配JDK版本:React Native 0.70+优先使用JDK 17(OpenJDK或Oracle JDK均可),低版本RN对应使用JDK 11或8,避免跨版本混用。
- 同步Android SDK:打开Android Studio的SDK Manager,确保安装项目对应的
Android SDK Build Tools和Android SDK Platform版本,与android/build.gradle中配置的参数一致。 - 清理构建缓存:执行以下命令清除缓存后重试
cd android && ./gradlew clean cd .. && npx react-native start --reset-cache
二、处理Task :app:mergeDebugNativeLibs FAILED(重复libfbjni.so文件)
此问题源于多个依赖包重复引入libfbjni.so库,导致合并冲突,可通过以下方式修复:
- 排除重复依赖:在
android/app/build.gradle的dependencies块中,找到引入fbjni的第三方库,添加排除规则,示例:implementation('com.example:target-library:1.0.0') { exclude group: 'com.facebook.fbjni' } - 强制统一fbjni版本:在
android/build.gradle的allprojects块中添加依赖强制规则,确保所有依赖使用同一版本的fbjni:configurations.all { resolutionStrategy.force 'com.facebook.fbjni:fbjni:0.2.2' // 替换为项目兼容的具体版本 } - 删除Native库缓存:手动删除
android/app/build/intermediates/merged_native_libs目录后重新构建。
三、处理Gradle废弃特性提示
这类提示多因使用了Gradle旧版语法或已废弃API,修复方式:
- 升级Gradle版本:在
android/gradle/wrapper/gradle-wrapper.properties中更新distributionUrl至兼容的稳定版,比如RN 0.70+推荐Gradle 7.5及以上。 - 匹配Android Gradle Plugin版本:在
android/build.gradle中修改com.android.tools.build:gradle版本,确保与Gradle版本适配(例如Gradle 7.5对应AGP 7.4.2)。 - 替换废弃语法:根据Gradle提示的具体废弃项,替换为新语法,比如将
compile改为implementation,testCompile改为testImplementation。
内容的提问来源于stack exchange,提问作者Joseph Cerbito
相关产品推荐
相关产品推荐

