当我们平时使用gradle来构建项目的时候,可以现在电脑上安装gradle,在配置环境变量之后就能正常使用了
不过当我们把项目分享给一个电脑上没安装gradle的人时,整体的项目构建还需要配置,显得麻烦。
由此就有了今天的主角:gradle wrapper 一个gradle的封装体,即使电脑上没有安装gradle也能构建。
想使用gradle wrapper,首先要在你的项目中创建。具体来说就是在build.gradle里面加入类似于下面的task:
//file:build.gradle
task createWrapper(type: Wrapper) {
gradleVersion = '0.9-preview-1'
}
当然版本根据需要填写。
gradle createWrapper
目录下会生成以下目录结构
Project-name/
gradlew
gradlew.bat
gradle/wrapper/
gradle-wrapper.jar
gradle-wrapper.properties
这些文件构成了gradle wrapper,生成gradle wrapper的操作只需要做一次
使用
需要使用gradle wrapper的时候,我们就直接在项目根目录下直接执行gradlew(gradle wrapper的简写), 使用gradlew的方式和gradle一模一样, 例如通过gradlew tasks来查看所有的任务。事实上,执行gradlew命令的时候,gradlew会委托gradle命令来做相应的事情,所以gradlew真的只是一个壳而已。
当执行gradlew的时候,wrapper会检查当前机器是否已经安装了对应版本的gradle,如果安装了那么gradlew就会委托gradle执行用户输入的命令。如果还未安装的话,那么首先会自动帮我们从gradle repository下载安装。当然你也可以在配置文件中指定想要下载的server来替代默认的gradle repo。