React Native新项目构建失败,:app:checkDebugAarMetadata任务报错求助
解决React Native新项目构建失败的方案
1. 清空全局Gradle缓存
旧项目能正常运行,说明项目本地缓存无问题,但全局Gradle缓存大概率被污染。直接删除缓存:
# Mac/Linux rm -rf ~/.gradle/caches
# Windows rd /s /q %USERPROFILE%\.gradle\caches
2. 统一React Native CLI版本
新项目使用的CLI版本可能与旧项目不一致,或是react-navigation引入的依赖打乱了版本匹配。先查看当前全局CLI版本:
react-native --version
创建新项目时指定与旧项目一致的版本,比如旧项目用0.72.x:
npx react-native@0.72.x init YourNewProject
3. 锁定Gradle版本
报错中的Cannot snapshot output property 'outputDirectory'基本是Gradle版本不兼容导致的。打开新项目的android/gradle/wrapper/gradle-wrapper.properties,将distributionUrl修改为稳定版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
同时在android/build.gradle中同步gradle插件版本(gradle-7.5对应插件7.4.2):
buildscript { dependencies { classpath("com.android.tools.build:gradle:7.4.2") // 其他依赖保持不变 } }
4. 排查react-navigation引发的依赖冲突
问题出在引入react-navigation之后,说明它的依赖与新项目默认依赖存在冲突。先创建一个不带react-navigation的新项目,执行run-android验证是否正常运行;若正常,再安装react-navigation,然后查看依赖树:
cd android && ./gradlew app:dependencies
找出冲突的依赖(比如不同版本的AndroidX库),在android/build.gradle中强制统一版本:
allprojects { configurations.all { resolutionStrategy { force 'androidx.core:core-ktx:1.10.1' // 按此格式添加其他冲突依赖的统一版本规则 } } }
5. 检查Java版本兼容性
React Native 0.70+要求使用Java 11,低版本会触发各类构建异常。执行java -version确认版本,若不符合则切换到Java 11(可通过jdkman或本地多版本管理工具实现)。
内容的提问来源于stack exchange,提问作者roachen
相关产品推荐
相关产品推荐

