升级Gradle后执行gradlew clean报错:无法匹配gradle:8.1.1变体
解决方案:Gradle 8.1.1插件依赖解析失败问题
核心问题分析
报错的关键原因有两点:
- AGP 8.1.1要求运行Gradle的JDK版本必须为11,你仅修改了编译选项的Java版本,未配置Gradle自身的运行JDK
- 插件属性匹配不达标,Gradle运行环境的JDK版本不符合要求,导致无法匹配到正确的插件变体
分步解决步骤
1. 配置Gradle运行时使用JDK 11
在项目根目录的gradle.properties文件中添加以下配置(替换为你的JDK 11实际安装路径):
org.gradle.java.home=/path/to/your/jdk-11
也可以直接将系统环境变量JAVA_HOME设置为JDK 11的目录。
2. 确认AGP与Gradle版本兼容性
AGP 8.1.1官方推荐搭配Gradle 8.0~8.2版本,你当前的distributionUrl使用gradle-8.0-all.zip符合要求,若第一步操作后仍有问题,可尝试升级Gradle版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip
3. 检查项目根build.gradle的插件配置
确保插件声明统一,避免版本冲突:
// 根目录build.gradle plugins { id 'com.android.application' version '8.1.1' apply false id 'com.android.library' version '8.1.1' apply false }
如果是模块内直接应用插件,保证版本与根配置一致:
// 模块build.gradle plugins { id 'com.android.application' }
4. 清理Gradle缓存并重新同步
执行以下命令清理缓存:
./gradlew cleanBuildCache ./gradlew clean
之后在IDE中执行Gradle同步操作。
内容的提问来源于stack exchange,提问作者DolDurma
相关产品推荐
相关产品推荐

