根本原因是path中存在多个gradle路径,系统优先调用了旧版本;需用which/where确认实际路径,并将新gradle的bin目录置顶path,同时在ide中正确配置gradle distribution与jvm版本并确保三者兼容。

Gradle 安装后显示的版本不对,根本原因不是安装失败,而是当前 shell 或 IDE 没有使用你刚装的那个 Gradle —— 它在用另一个路径下的、更早的版本。
为什么 gradle -v 显示的不是你刚装的版本
最常见的原因是 PATH 环境变量里存在多个 gradle 可执行文件,系统按 PATH 顺序找到了第一个(比如 SDKMAN 装的、Homebrew 装的、或者 IDEA 自带 wrapper 下载的),压根没走到你手动解压的新目录。
- 运行
which gradle(macOS/Linux)或where gradle(Windows)确认实际调用的是哪个路径 - 检查
$PATH(Linux/macOS)或%PATH%(Windows)是否把新 Gradle 的bin/目录放在了靠前位置 - IDEA 或 Android Studio 默认不读系统 PATH,它有自己的 Gradle 配置入口,
gradle -v成功不代表 IDE 会用它
Android Studio / IDEA 里显示的 Gradle 版本怎么改才生效
IDE 内部构建用的是「Gradle JVM」+「Gradle distribution」两个独立配置,改错一个就白忙。
- 进入
File → Settings → Build, Execution, Deployment → Gradle(macOS 是IntelliJ IDEA → Preferences) - 勾选
Use Gradle from wrapper:最安全,强制走项目gradle/wrapper/gradle-wrapper.properties里的distributionUrl - 如果选
Use local Gradle distribution,必须手动指定完整路径,比如/opt/gradle/gradle-8.10(不能只写到 bin 目录) - 下方的
Gradle JVM下拉框必须匹配项目要求:AGP 8.3+ 强制要求 JDK 17,选 JDK 8 或 11 会导致Unsupported class file major version
为什么改完 settings 还是同步失败
因为 Gradle wrapper 本身也分“运行时”和“构建时”两层,项目里 build.gradle 声明的插件版本(com.android.tools.build:gradle)和 wrapper 指定的 Gradle 版本必须兼容。
- 打开项目级
build.gradle,看classpath 'com.android.tools.build:gradle:X.Y.Z'的版本 - 查官方兼容表:AGP 8.3 要求 Gradle 8.4+;AGP 7.4 只能配 Gradle 7.5;配高了或低了都会报
No matching variant - 修改
gradle-wrapper.properties中的distributionUrl,例如:distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip - 删掉
.gradle/wrapper/dists/下对应旧版本的缓存文件夹,避免 IDEA 加载残留
真正容易被忽略的是:Gradle 版本、JDK 版本、Android Gradle 插件版本这三者之间不是独立可换的,它们构成一个强约束三角。改其中一个,另外两个大概率要跟着动;而 IDE 的 UI 设置只是“告诉它用谁”,不保证“那个谁真能跑通”。











