React Native CLI项目构建失败:Could not resolve all task dependencies for configuration ':classpath' 问题求助
Hey,我看到你折腾好久都没解决这个构建问题,咱们来一步步拆解它!
从你贴的错误日志来看,核心矛盾点有两个:
- Gradle找不到
com.android.tools.build:gradle:的具体版本(日志里这个依赖的版本号是空的) react-native-gradle-plugin的变体和你的构建环境不兼容:你的构建要求Java 8、运行时可用的库,且Gradle插件API版本是8.0.1,但插件提供的变体是基于Java 11的,属性完全不匹配
给你几个具体的修复步骤,你可以挨个试试:
补全Android Gradle Plugin(AGP)的版本号
打开项目根目录的build.gradle(不是app模块下的那个),找到dependencies块里的classpath "com.android.tools.build:gradle:"——你肯定没写版本号!得根据你的React Native版本补对应AGP版本:
比如RN 0.70+对应AGP 7.3.1,RN 0.72+对应AGP 7.4.2,RN 0.73+对应AGP 8.0.2(实在拿不准就对照RN官方版本匹配表)
示例配置:dependencies { classpath("com.android.tools.build:gradle:7.4.2") classpath("com.facebook.react:react-native-gradle-plugin") }匹配Gradle和AGP的版本
打开gradle/wrapper/gradle-wrapper.properties,确保distributionUrl里的Gradle版本和AGP兼容:- AGP 7.x配Gradle 7.4及以上
- AGP 8.x配Gradle 8.0及以上
比如用AGP 8.0.2的话,就改成:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-all.zip换对JDK版本!别用Java 8了
划重点!React Native 0.70及以上版本要求用JDK 11,不是Java 8!你之前把JDK和javac版本弄一致了,但如果用的是Java 8,反而会和新版本的RN插件冲突。赶紧切换到JDK 11,确保系统环境变量(JAVA_HOME、PATH)全指向JDK 11,IDE里的项目JDK也设置成11。彻底清理缓存后重装依赖
执行这些命令清干净缓存:# Windows系统 gradlew.bat clean rmdir /s /q node_modules del package-lock.json npm install # macOS/Linux系统 ./gradlew clean rm -rf node_modules rm package-lock.json npm install完了再试试
npx react-native run-android检查react-native-gradle-plugin的引入
打开根目录的settings.gradle,确保插件引入路径是对的,RN 0.70+的默认配置应该是:includeBuild('../node_modules/react-native-gradle-plugin')要是你自己改过配置,可能导致版本不匹配,建议改回默认。
如果这些都试过还不行,把你的RN版本、JDK版本,还有根目录build.gradle和gradle-wrapper.properties的内容贴出来,我再帮你精准定位~
备注:内容来源于stack exchange,提问作者IceCream

