无法解析com.android.tools.build:gradle:7.4.1,无匹配变体求助
解决com.android.tools.build:gradle:7.4.1变体不匹配问题
问题根源
com.android.tools.build:gradle:7.4.1 要求运行环境必须是Java 11,但你的项目构建环境强制指定Java 8,再加上插件API版本要求7.5,三方属性完全不匹配,导致无法解析依赖。
分步解决办法
1. 对齐AGP与Gradle版本
Android Gradle插件(AGP)和Gradle版本绑定严格,7.4.1的AGP需要Gradle 7.5及以上。你之前单独改Gradle版本没用,必须同步调整AGP版本:
选项1:降级AGP以兼容Java 8
如果不想升级Java版本,把AGP降到兼容Java 8的最高版本7.0.4,对应Gradle 7.0.2:
- 修改项目根目录
build.gradle:buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.0.4' } } - 修改
gradle/wrapper/gradle-wrapper.properties:distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
选项2:升级AGP与Java版本匹配
如果愿意升级到Java 11,把AGP升到7.4.2(和Gradle7.5匹配):
- 修改项目根目录
build.gradle:buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.4.2' } } - 修改
gradle/wrapper/gradle-wrapper.properties:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
2. 统一项目Java版本配置
根据上面的选项,调整项目Java版本:
对应选项1(Java 8)
在 app/build.gradle 中添加:
android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } // 用Kotlin的话加下面这段 kotlinOptions { jvmTarget = '1.8' } }
对应选项2(Java 11)
- 先在IDE里设置JDK:
File → Project Structure → SDK Location,选择Java 11的安装路径 - 再修改
app/build.gradle:android { compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } // 用Kotlin的话加下面这段 kotlinOptions { jvmTarget = '11' } }
3. 清理缓存并重启同步
- 直接点IDE菜单栏的
File → Invalidate Caches...,勾选Invalidate and Restart - 或者手动删除项目根目录的
.gradle文件夹和app/build文件夹,然后重新同步项目
4. 确认仓库配置正确
确保项目根目录的 build.gradle 里有Google仓库,否则AGP下载会失败:
allprojects { repositories { google() mavenCentral() } }
内容的提问来源于stack exchange,提问作者Skello
相关产品推荐
相关产品推荐

