./gradlew -v(Linux/macOS)或gradlew -v(Windows)是最准确、不依赖IDE的查看方式,可显示Gradle、JVM、OS等完整版本信息,且强制使用项目声明的Gradle版本(来自gradle-wrapper.properties),确保团队构建环境一致。

直接运行 ./gradlew -v(Linux/macOS)或 gradlew -v(Windows)就能看到完整版本信息,包括 Gradle 本身、JVM、OS 等——这是最准、最不依赖 IDE 的方式。
命令行查版本:为什么必须用 ./gradlew 而不是 gradle
项目级 gradlew 脚本强制使用项目声明的 Gradle 版本(来自 gradle/wrapper/gradle-wrapper.properties),而全局 gradle 命令走的是系统 PATH 里的安装,两者常不一致。尤其在团队协作中,./gradlew -v 才反映真实构建环境。
- 输出里
Gradle x.x.x行是 Gradle 运行时版本 -
JVM行显示实际执行构建的 JDK 版本(例如17.0.2),它可能和JAVA_HOME不同——因为gradle.properties或org.gradle.java.home可能覆盖了它 - 如果报错
Command 'gradlew' not found,先确认当前目录是项目根目录(含gradlew文件)
Android Studio 里怎么看:别只盯 build.gradle
很多人翻 build.gradle 里的 classpath 'com.android.tools.build:gradle:x.x.x',但这只是 Android Gradle Plugin(AGP)版本,不是 Gradle 本身。AGP 和 Gradle 是两个东西,版本必须配对。
- 正确路径:
Gradle Scripts→gradle-wrapper.properties→ 看distributionUrl末尾的版本号,例如gradle-8.7-bin.zip中的8.7 - 快捷验证:打开右侧
Gradle面板 → 展开项目 →Tasks→help→ 双击properties,控制台第一行会打印当前生效的 Gradle 版本 - 注意:AS 有时缓存旧配置,改完
gradle-wrapper.properties后务必点Sync Project with Gradle Files,否则面板里显示的还是旧版
写脚本动态获取:用 gradle.gradleVersion
在 build.gradle 或 build.gradle.kts 里定义一个任务,适合 CI 流水线自动采集或调试时快速确认:
task showVersion {
doLast {
println "Gradle version: ${gradle.gradleVersion}"
}
}
- 执行
./gradlew showVersion即可输出字符串形式的当前版本 - 这个值由
gradlew加载的 Gradle 实例决定,和命令行-v一致 - 不要在
settings.gradle里用它——此时gradle对象尚未完全初始化,会报Cannot get property 'gradleVersion' on null object
最容易被忽略的一点:Gradle Wrapper 的 distributionUrl 地址是否可访问,决定了 ./gradlew 能否真正拉起对应版本。国内网络环境下,services.gradle.org 经常超时或返回空响应——这时即使你改了地址,./gradlew -v 仍可能卡住或 fallback 到旧版本。手动下载 + 放进 ~/.gradle/wrapper/dists/ 对应哈希目录,才是绕过网络问题的确定性解法。

















