gradlew 即gradle Wrapper简称,从名称可知,对gradle的包装,可理解成容器
以下为个人理解
-
gradlew 与gradle 区别
gradle 属于构建工具,类似maven, gradlew 仅仅是对gradle进行了包装, 区别就是不同的项目可能需要不同版本的gradle,那么就需要不断地配置对应的系统环境,部署繁杂,容易出错。而gradlew 正好解决了这一痛点,可在不同项目中指定特定的gradle版本,若工程中存在,直接使用,若不存在,自动下载相应的gradle版本,不需改变电脑的环境配置信息
因此,总的而言,gradlew 的优点
1. 省去手动下载、安装、配置gradle
2. 跟着项目走,确保项目中使用正确的gradle版本 -
配置Wrapper
命令参数--gradle-version
来指定一个gradle版本。你也可以直接通过命令--gradle-distribution-url
来设置gradle下载链接。如果没有版本或分配URL指定的wrapper将被配置为使用gradle的版本的wrapper task执行
#这个地方前提是可执行gradle,知道的IDE,如vs自带
gradle wrapper --gradle-version 2.0
通过wrapper来构建,机器上安装的任何版本的gradle都会被忽略。在使用gradlew进行构建的过程中,如果不希望gradle包发生下载,只需将gradle的zip包放在你的wrapper配置指定的位置并添加到您的版本控制工具即可。支持相对路径,你可以指定gradle的文件到一个相对于gradle-wrapper.properties文件的位置。
wrapper的具体配置见https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:adding_wrapper
-
构建命令
./gradlew [task] #unix/linux
gradlew [task] #windows
-
配置了Wrapper的Gradle项目的文件结构
gradle/
wrapper/
gradle-wrapper.jar (Wrapper JAR)
gradle-wrapper.properties (Wrapper properties)
gradlew (unix/linux script)
gradlew.bat (Windows batch file)