Gradle Wrapper
(Gradle
包装器)是Gradle
的一个特性,能够经过包装器指定项目构建时使用的Gradle
版本。app
这一特性能够确保同一个项目组的人员构建环境是一致的(maven
无此特性)maven
通常Gradle
项目初始化(执行gradle init
)后都会带有Gradle Wrapper
。其关键结构在项目的根目录下,以下所示(省略与Gradle Wrapper
无关的文件):gradle
├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat
在gradle/wrapper
目录下就是Gradle Wrapper
了。其中ui
gradle-wrapper.jar
就是下载项目构建使用的Gradle
的下载器gradle-wrapper.properties
就是就是Gradle Wrapper
的配置文件了而gradlew
和gradlew.bat
则分别是UNIX
和Windows
环境下调用包装器的脚本url
gradle-wrapper.properties
内部只有4
个配置项,以下所示操作系统
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists
distributionBase
指的是发布(能够类比maven
的package
)的根目录,其中GRADLE_USER_HOME
是系统变量或者环境变量distributionPath
指的是发布的相对地址(相对distributionBase
)distributionUrl
指的是下载Gradle
的地址zipStoreBase
指的是压缩zip
包的根目录zipStorePath
指的是压缩zip
包的相对地址(相对zipStorePath
)在项目根目录下直接运行gradlew build
或者gradlew.bat build
(根据操做系统自行选择)就会自动下载项目须要使用的Gradle
(本地仍是须要安装Gradle
哦)了code
可能会有人吐槽,只要改好配置文件以后执行gradlew build
或者gradlew.bat build
。可是Gradle
自己也提供了指令进行配置的更新和自动让新配置生效,下面的演示是基于UNIX
系统,Winodos
系统请自行切换到gradlew.bat
。ip
Gradle Wrapper
使用的Gradle
版本(可升级别也可降级):gradlew wrapper --gradle-version 4.9
Gradle
的Gradle Wrapper
使用的Gradle
类型(分为all
和bin
,默认是bin
,bin
是执行包,all
则是完整包):gradlew wrapper --distribution-type all
Gradle
的地址(除非是须要使用私库,否则不太建议使用):gradlew wrapper --gradle-distribution-url https\://services.gradle.org/distributions/gradle-4.9-bin.zip
上面的指令中的gradlew
也能够使用gradle
代替,表示使用本机安装的Gradle
来处理it
Gradle Wrapper
相关文件缺失怎么办?在项目的根目录下执行gradle wrapper
就会自动建立相关文件。io
除了经过配置gradle-wrapper.properties
还有什么办法指定项目的Gradle
版本?
能够在build.gradle
文件如下配置便可:
wrapper { distributionUrl = https://services.gradle.org/distributions/gradle-4.9-all.zip distributionType = Wrapper.DistributionType.ALL }