Gradle Wrapper 的作用的具体说明

89 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,点击查看活动详情

我们知道,Gradle Wrapper 的作用就是可以让电脑没有Gradle 环境的情况下,可以运行Gradle 项目。那么Gradle Wrapper 内部的具体细节是什么样的呢?我们通过这篇文章来看一下。


  1. 举例来说,比如你clone 了一个Gradle 项目,但是你的电脑上没有Gradle 环境
  2. 那么你在构建Gradle 项目的时候,Gradle Wrapper 就会从gradle-wrapper.properties 指定的下载位置下载Gradle,解压到电脑上的指定位置
  3. 然后你就可以在Gradle 项目的命令行中运行gradlew 脚本来执行gradle 命令
  4. 比如说你想执行gradle build,那么你在命令行中输入gradlew build 就可以了

Gradle wrapper 中各个文件的作用:

  1. gradlew:在linux 平台中执行gradle 命令的脚本
  2. gradlew.bat:在windows 平台下执行gradle 命令的脚本
  3. gradle-wrapper.jar:Gradle Wrapper 运行时的逻辑的相关代码在这里
  4. gradle-wrapper.properties:指定Gradle 的下载位置和解压位置

greadle-wrapper.properties 文件中的字段名解释:

  1. distributionBase:这个是下载的Gradle 之后的压缩包解压后的主目录,为GRADLE_USER_HOME
    在windows 中它的路径为C:/user/user_name/.gradle/
    在mac 中的路径为~/.gradle/
  2. distributionPath:是相对于distributionBase 的路径,然后解压Gradle的路径,是wrapper/dists
  3. distributionUrl:这个是Grade 压缩包的下载地址,就是在这里决定下载的Gradle 版本和版本类型(binary或complete)。例如gradle-6.5-all.zip表示 Gradle 6.5的complete 版本;gradle-6.5-bin.zip 表示Gradle 6.5 的binary 版本
  4. zipStoreBase:和distributionBase 一样,是表示存放下载的Gradle的压缩包的主目录
  5. zipStorePath:和distributionPath 一样,是表示存放下载的Gradle的压缩包的路径

这样,在使用Gradle Wrapper 之后,对于相同的项目,在不同的电脑环境中,可以使用统一的Gradle 版本。同时,对于没有Gradle 环境的用户,也不必配置安装Gradle 环境,提高了效率。