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

Android Studio Giraffe执行gradlew wrapper时Gradle版本冲突问题

解决命令行执行./gradlew wrapper失败的问题

核心问题分析

你遇到的问题本质是命令行环境与Android Studio内置环境不匹配:

  • AS用的是内置Java 17和受控的Gradle环境,而命令行可能默认用了Java 8,导致插件解析时版本兼容校验失败;
  • AGP 8.1.2和Google Services 4.4.0对Gradle插件API版本(8.0)和Java版本(17)有明确要求,命令行环境不满足就会触发变体匹配失败的错误。

具体修复步骤

1. 确保命令行使用Java 17

  • 先检查当前命令行的Java版本:
    java -version
    
    如果输出是Java 8,需要切换到Java 17:
    • Linux/macOS:临时设置环境变量
      export JAVA_HOME=/path/to/your/java17
      
    • Windows:
      set JAVA_HOME=C:\path\to\your\java17
      
    • 永久生效可以修改系统环境变量,或者在项目根目录的gradle.properties里添加(推荐,避免影响全局):
      org.gradle.java.home=/path/to/java17
      

2. 校验仓库与插件配置

打开项目根目录的build.gradle.kts,确保仓库和插件配置正确:

plugins {
    id("com.android.application") version "8.1.2" apply false
    id("com.google.gms.google-services") version "4.4.0" apply false
    id("org.jetbrains.kotlin.android") version "1.9.0" apply false
}

repositories {
    google() // 必须放在最前面,优先从Google仓库拉取插件
    mavenCentral()
}

3. 重新生成Gradle Wrapper(可选)

如果之前的Wrapper配置有问题,重新生成指定版本的Wrapper:

./gradlew wrapper --gradle-version 8.0 --distribution-type bin

为什么AS内构建正常?

Android Studio会使用**内置的JDK(默认Java 17)**和独立管理的Gradle实例,完全隔离于系统环境。所以即使你系统命令行用的是Java 8,AS内部依然能满足插件的版本要求,顺利完成构建。


内容的提问来源于stack exchange,提问作者Adam Ri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 00:52:47