如何解决项目构建报错‘无法解析com.android.tools.build:gradle:7.4.0’?
问题描述
构建名为baked_barbecue的项目时出现配置错误,报错信息如下:
配置根项目‘baked_barbecue’时出现问题。
无法解析配置':classpath'的所有文件。
无法解析com.android.tools.build:gradle:7.4.0。
被以下项目依赖:
项目 :
未找到匹配的com.android.tools.build:gradle:7.4.0变体。消费者配置要求找到一个兼容Java 8的运行时库,以jar包形式打包,依赖外部声明,同时要求属性‘org.gradle.plugin.api-version’的值为‘7.5’,但:
- 变体‘apiElements’的能力com.android.tools.build:gradle:7.4.0声明了一个以jar包形式打包的库,依赖外部声明:
- 不兼容:该组件声明了兼容Java 11的API,而消费者需要兼容Java 8的运行时
- 其他兼容属性:
- 未提及org.gradle.plugin.api-version(要求值为‘7.5’)
- 变体‘javadocElements’的能力com.android.tools.build:gradle:7.4.0声明了一个运行时组件,依赖外部声明:
- 不兼容:该组件声明为文档,而消费者需要库
- 其他兼容属性:
- 未提及目标Java版本(要求兼容Java 8)
- 未提及元素打包方式(要求以jar包形式)
- 未提及org.gradle.plugin.api-version(要求值为‘7.5’)
- 变体‘runtimeElements’的能力com.android.tools.build:gradle:7.4.0声明了一个以jar包形式打包的运行时库,依赖外部声明:
- 不兼容:该组件声明兼容Java 11,而消费者需要兼容Java 8的组件
- 其他兼容属性:
- 未提及org.gradle.plugin.api-version(要求值为‘7.5’)
- 变体‘sourcesElements’的能力com.android.tools.build:gradle:7.4.0声明了一个运行时组件,依赖外部声明:
- 不兼容:该组件声明为文档,而消费者需要库
- 其他兼容属性:
- 未提及目标Java版本(要求兼容Java 8)
- 未提及元素打包方式(要求以jar包形式)
- 未提及org.gradle.plugin.api-version(要求值为‘7.5’)
项目根目录build.gradle配置如下:
buildscript { repositories { google() jcenter() maven { url "https://plugins.gradle.org/m2/" } maven { url 'https://jitpack.io' } } dependencies { classpath 'com.amazonaws:aws-devicefarm-gradle-plugin:1.3' classpath 'com.android.tools.build:gradle:7.4.0' classpath "io.realm:realm-gradle-plugin:10.3.1" classpath 'com.google.gms:google-services:4.3.14' classpath "io.github.jmatsu:license-list-gradle:0.8.1" classpath 'com.github.ben-manes:gradle-versions-plugin:+' // Spotbugs classpath "gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.5.0" } } allprojects { repositories { google() jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { //options.encoding = 'UTF-8' options.compilerArgs << '-Xlint:unchecked' options.compilerArgs << '-Xlint:deprecation' //options.compilerArgs << '-Xlint:all' options.deprecation = true } } } task clean(type: Delete) { delete rootProject.buildDir }
已尝试修改Gradle JDK路径,但问题未解决,寻求修复方案。
修复方案
报错核心是Gradle版本与Android Gradle Plugin(AGP)版本不匹配,以及Java版本兼容性问题,按以下步骤修复:
1. 对齐Gradle与AGP版本
AGP 7.4.0要求搭配Gradle 7.5版本(与报错中org.gradle.plugin.api-version:7.5对应),需调整Gradle wrapper配置:
- 打开项目根目录下的
gradle/wrapper/gradle-wrapper.properties文件,确保distributionUrl指向Gradle 7.5:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip - 若版本不符,直接修改该配置后同步项目。
2. 调整Java版本适配
AGP 7.4.0需要Java 11作为运行环境,而非Java 8:
- 在IDE中设置Gradle JDK为Java 11:
- 打开Settings/Preferences
- 导航到
Build, Execution, Deployment > Build Tools > Gradle - 将
Gradle JDK选择为已安装的Java 11版本
- 在项目根目录的
build.gradle中添加编译环境配置,确保版本对齐:
在allprojects块内的JavaCompile任务中添加:tasks.withType(JavaCompile) { options.compilerArgs << '-Xlint:unchecked' options.compilerArgs << '-Xlint:deprecation' options.deprecation = true // 添加以下两行配置 sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 }
3. 清理缓存并重新同步
- 执行命令
./gradlew clean清理构建缓存 - 在IDE中点击"Sync Project with Gradle Files"按钮重新同步项目
备选方案:降级AGP版本(若无法升级环境)
如果因环境限制无法使用Java 11和Gradle 7.5,可将AGP版本降级到兼容Java 8的版本,比如AGP 4.2.2(对应Gradle 6.7.1):
- 修改
buildscript中的AGP依赖:classpath 'com.android.tools.build:gradle:4.2.2' - 同步项目时,将Gradle wrapper版本调整为6.7.1。
内容的提问来源于stack exchange,提问作者shan170
相关产品推荐
相关产品推荐

