Gradle Wrapper

简介

Gradle Wrapper就是对Gradle的一层封装,一个项目可以使用指定的gradle版本进行构建而不受当前机器安装的gradle版本影响,便于一台机器的多个项目使用不同的gradle版本进行构建而互不影响。当执行gradlew命令的时候,wrapper会检查缓存判断当前机器是否已经安装了对应版本的gradle,如果安装了那么gradlew就会委托gradle执行用户输入的命令,如果还未安装的话,那么首先会自动帮我们从配置的下载地址下载。因此使用gradle的正确姿势是使用gradlew而不是gradle命令,因内网无法连接到外网去下载指定的gradle版本,我们需要手动将对应的gradle版本放在缓存目录。

Windows命令: gradlew xxx

Linux命令: ./gradlew xxx

Wrapper的配置文件是gradle\wrapper\gradle-wrapper.properties

如上图所示则执行gradlew命令时指定使用gradle 4.4版本构建项目

PS:每一个Android Studio项目都有gradle wrapper,可以在项目根目录下查看

缓存

Gradle的默认缓存目录为~/.gradle,即用户主目录下的.gradle目录,如不设置环境变量GRADLE_USER_HOME,wrapper对应的缓存目录为~/.gradle/wrapper/dists,如设置环境变量GRADLE_USER_HOME,则wrapper对应的缓存目录为$GRADLE_USER_HOME/wrapper/dists

配置

此处以gradle-4.4-all.zip为例

1.将gradle-4.4-all.zip放入以下目录:

~/.gradle\wrapper\dists\gradle-4.4-all\9br9xq1tocpiv8o6njlyu5op1,路径中的任何目录如gradle-4.4-all不存在创建即可,其中9br9xq1tocpiv8o6njlyu5op1为按照一定规则生成的字符串,可参考Gradle缓存目录文件命名规则

2.解压gradle-4.4-all.zip到当前目录

  unzip gradle-4.4-all.zip(Linux)

3.建立空文件gradle-4.4-all.zip.lck和gradle-4.4-all.zip.ok

touch gradle-4.4-all.zip.lck gradle-4.4-all.zip.ok(Linux)

最后的目录结构如下:

验证

创建一个目录如test,然后执行gradle wrapper命令,然后修改配置文件gradle\wrapper\gradle-wrapper.properties中的distributionUrl,如修改后的文件如下:

此时在test目录下执行gradlew –v,如显示版本信息,则配置成功

猜你喜欢

转载自www.cnblogs.com/rainboy2010/p/8997528.html