React Native Android构建报错:Kotlin版本不兼容及依赖问题
React Native部署:解决Kotlin版本兼容与mergeReleaseNativeLibs依赖异常问题
一、解决:react-native-screens:compileReleaseKotlin FAILED(Kotlin版本不兼容)
问题核心是项目依赖的kotlin-stdlib-jdk7-1.6.10.jar元数据版本与当前使用的Kotlin 1.4.0不匹配,需统一Kotlin版本:
- 打开项目根目录下的
build.gradle(非app模块内的配置文件),找到buildscript块中的ext配置,将kotlinVersion指定为1.6.10,确保Gradle插件版本与依赖的stdlib版本一致:
buildscript { ext { kotlinVersion = "1.6.10" // 保留其他React Native相关版本配置 } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" // 其他已有依赖 } }
- 同步Gradle项目,让所有模块使用统一的Kotlin版本,消除版本冲突。
二、解决升级Kotlin后出现的:app:mergeReleaseNativeLibs FAILED(依赖声明异常)
该错误多由Native库重复引入或Gradle任务依赖冲突导致,按以下步骤处理:
- 配置PackagingOptions排除重复Native库
打开app模块下的build.gradle,在android代码块中添加packagingOptions,指定优先选择重复的Native库文件:
android { // 保留已有配置(如compileSdkVersion、defaultConfig等) packagingOptions { pickFirst 'lib/x86/libc++_shared.so' pickFirst 'lib/x86_64/libc++_shared.so' pickFirst 'lib/armeabi-v7a/libc++_shared.so' pickFirst 'lib/arm64-v8a/libc++_shared.so' } }
- 清理Gradle缓存并重新编译
执行以下命令清理缓存,强制刷新依赖:
./gradlew clean ./gradlew assembleRelease --refresh-dependencies
- 确保react-native-screens版本兼容
检查package.json中的react-native-screens版本,若版本过旧可能与升级后的Kotlin/Gradle不兼容,尝试升级到最新稳定版:
"react-native-screens": "^3.20.0"
执行npm install或yarn install更新依赖后,重新编译项目。
内容的提问来源于stack exchange,提问作者Armandovegas
相关产品推荐
相关产品推荐

