React Native 0.63.4遇META-INF/kotlin_module冲突编译错误求助
解决React Native 0.63.4中
:app:mergeDebugJavaResource多kotlin_module文件冲突问题 1. 修正packagingOptions配置
你之前尝试的排除规则没有生效,是因为没有将其合并到build.gradle的android块内的packagingOptions中。替换现有packagingOptions为以下完整配置:
packagingOptions { exclude 'project.properties' exclude 'META-INF/INDEX.LIST' exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/license.txt' exclude 'META-INF/NOTICE' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/notice.txt' exclude 'META-INF/ASL2.0' exclude 'META-INF/*.kotlin_module' }
确保该配置块位于android闭包内部,位置在compileOptions之后、dexOptions前后均可。
2. 清理项目缓存
旧缓存可能导致规则不生效,执行以下命令彻底清理:
- 清理Gradle构建缓存:
cd android && ./gradlew clean
- 清理Node依赖与全局Gradle缓存:
rm -rf node_modules && npm install rm -rf ~/.gradle/caches
3. 强制统一Kotlin标准库版本(若上述方法无效)
如果冲突仍存在,说明项目依赖引入了不同版本的Kotlin标准库,需要在项目根目录的build.gradle中强制统一版本:
allprojects { repositories { // 保留原有仓库配置 } configurations.all { resolutionStrategy { // RN 0.63.4兼容Kotlin 1.4.x/1.5.x版本,可根据实际调整 force "org.jetbrains.kotlin:kotlin-stdlib:1.4.32" } } }
内容的提问来源于stack exchange,提问作者belon kelorb
相关产品推荐
相关产品推荐

