巧用Gradle Wrapper 解决实际问题
程序员文章站
2022-07-12 17:08:54
...
关于gradle,会遇见哪些问题?
- 国内gradle下载太慢,项目初始化时间长
- jenkins中关于gradle的环境配置麻烦
- 新手配置gradle麻烦
gradle wrapper
我们执行build任务的时候,可以用两种方式
gradle build
和
./gradlew build
gradle build 需要配置gradle环境变量,
而./gradlew build 则是利用项目下的gradlew脚本,使用./gradlew 则会使用gradle wrapper,如果本地没有相应的版本,则会到distributionUrl指定的地址去下载,然后再执行相应的打包命令。如果下载缓慢,无疑很浪费时间。
解决办法
在项目下的build.gradle的末尾加上一个任务,指定gradle的版本号,和路径,在这里路径可以使用相对路径,也就是说我们可以把下载好的gradle文件放在项目目录下,或者放在服务器上。
task wrapper(type: Wrapper) {
gradleVersion = '4.1'
distributionUrl = '../../gradle-4.1-bin.zip'
}
在这里,将gradle文件放在项目目录下,这样不管别人电脑里是否配置了gradle的环境变量,是否有gradle,都可以利用gradlew执行打包命令了。而且在多人协作的时候,还统一了gradle的版本,避免每次拉代码之后gradle版本不一致的问题。
在terminal里面执行
./gradlew wrapper
或者
gradle wrapper #前提是你已经配置好了gradle环境变量
这样就会生成gradle相关配置文件,并且属性文件中地址变成了相对地址
用法大概如此,如何使用就靠想象力了。