You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决项目构建报错‘无法解析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:
    1. 打开Settings/Preferences
    2. 导航到Build, Execution, Deployment > Build Tools > Gradle
    3. 将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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 12:37:23