真正需要的只有gradle-X.Y-all.zip:含bin启动脚本、lib核心jar、src源码、docs文档,版本与wrapper配置严格一致,SHA-256校验必须匹配,解压目录名不可重命名。

Gradle 离线安装真正需要的,就一个文件:gradle-X.Y-all.zip。其他都是可选或衍生出来的,别被“配置一堆”吓住。
必须下载的文件:gradle-X.Y-all.zip
这个 zip 是唯一硬性依赖。它包含:bin/(启动脚本)、lib/(核心 jar)、src/(Gradle 自身源码)、docs/(DSL 和 API 文档)。离线时查文档、跳源码、验证行为全靠它。别选 -bin.zip——它没 src 和 docs,断网后 IDE 补全失效、DSL 报错没法溯源,后续排错成本翻倍。
-
X.Y必须和项目gradle-wrapper.properties中的distributionUrl版本严格一致,比如项目写的是gradle-8.6-all.zip,你就不能用gradle-8.5-all.zip或gradle-8.6-bin.zip - SHA-256 校验值必须匹配官方发布的值,否则
./gradlew会拒绝加载并报错Checksum validation failed - 解压后目录名必须是
gradle-X.Y(如gradle-8.6),不能重命名,否则 wrapper 找不到对应版本缓存目录
不需要单独准备的“配套文件”
很多人以为还要手动下载 wrapper jar、JDK、AGP 插件包……其实都不用。Gradle wrapper 机制本身会自动处理这些:
-
gradle-wrapper.jar已经打包在gradle-X.Y-all.zip的lib/目录里,无需额外下载 - JDK 是运行时依赖,不是 Gradle 安装包的一部分;只要本地有兼容的 JDK(如 Gradle 8.6 要求 JDK 17+),wrapper 就能调用,不用“随 Gradle 一起装”
- Android Gradle Plugin(AGP)等插件由
build.gradle声明,下载走的是 Maven 仓库路径(可后续配内网 Nexus 或gradle.properties镜像),不归入 Gradle 离线安装范畴
容易被误当成“必需”的文件:校验文件与镜像配置
SHA-256 校验值本身不是文件,而是字符串,用于比对已下载 zip 的完整性。你只需从官网复制那一行哈希值,用命令校验即可:
shasum -a 256 gradle-8.6-all.zip
至于 init.d/ 脚本或 gradle.properties 配置,它们属于“加速构建”或“统一团队行为”的增强项,不是离线安装的必要条件。没它们,./gradlew build 照样能跑通,只是可能慢一点、或者依赖仍走默认远程仓库。
最常被忽略的一点:gradle-X.Y-all.zip 解压后,整个 gradle-X.Y/ 目录要完整保留,尤其是 init.d/ 这个空目录——某些定制化初始化逻辑会扫描它,删了可能导致 wrapper 启动异常但无明确报错。

















