Gradle Wrapper

本文讲述Gradle Wrapper,默认您已经掌握了相关知识


简介

  • Wrapper是对Gradle的一层包装,便于在团队开发过程中统一Gradle构建的版本。

  • Wrapper启动Gradle时会检查Gradle有没有被下载关联,若没有就会从配置的地址下载并运行构建。

1. 生成Wrapper

Gradle提供了内置的Wrapper task帮助我们自动生成Wrapper所需的目录文件,在终端进入项目根目录输入命令gradle wrapper

gradle wrapper
​
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
​
BUILD SUCCESSFUL in 8s
1 actionable task: 1 executed

生成的文件如下:

|____gradle
| |____wrapper
| | |____gradle-wrapper.jar  //具体业务逻辑
| | |____gradle-wrapper.properties  //配置文件
|____gradlew  //Linux 下可执行脚本
|____gradlew.bat  //Windows 下可执行脚本

2. Wrapper配置

终端执行gradle wrapper生成相关文件时,可指定如下参数,控制wrapper的生成:

Wrapper配置参数:

参数名 说明
—gradle-version 用于指定使用的Gradle版本
—gradle-distribution-url 用于指定下载Gradle发行版的url地址

例如:

gradle wrapper --gradle-version 4.1

表示配置 wrapper使用4.1版本Gradle,文件gradle-wrapper.properties中的distributionUrl的规则是http\://services.gradle.org/distributions/gradle-${gradleVersion}-bin.sip。若不设置,则会默认使用当前安装的Gradle版本。

3. gradle-wrapper.properties

该配置文件是gradle wrapper的相关配置文件

gradle-wrapper.properties的配置字段:

字段名 说明
distributionBase 下载Gradle压缩包解压后存储的主目录
distributionPath 相对于distributionBase的解压后的Gradle的路径
zipStoreBase 类似distributionBase,但存放压缩包
zipStorePath 类似distributionPath,但存放压缩包
distributionUrl Gradle发行版压缩包的下载地址

内容如下:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-bin.zip

4. 自定义Wrapper task

前面提到gradle-wrapper.properties是由Wrapper task生成的,所以我们可以通过配置Wrapper task来达到配置gradle-wrapper.properties的目的。

可在build.gradle构建文件中录入如下脚本:

task wrapper(type: Wrapper){
 gradleVersion='2.8'
 distributionBase='GRADLE_USER_HOME'
 distributionPath='wrapper/dists'
 zipStoreBase='GRADLE_USER_HOME'
 zipStorePath='wrapper/dists'
 distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
}
//每一项都可单独设置,gradle-2.8-all.zip表示下载该版本Gradle的源码

到这Gradle Wrapper就简单介绍完了,后续我们再学习新的Gradle知识,更多内容 XiMiMax -- http://www.ximimax.cn/ 欢迎持续关注

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。