其实这个问题最重要的部分就是搞懂Gradle Wrapper是什么,当我们明白了什么是wrapper,自然就明白了关系是什么。
简单来讲,Gradle Wrapper是一段用来执行gradle指令的脚本。它包含以下几个部分
- gradle-wrapper.jar 一个Java程序用来下载Gradle
- gradle-wrapper.properties Wrapper的配置文件
- gradlew, gradlew.bat 在不同操作系统上用来调用gradle-wrapper.jar的脚本文件
当你在使用gradlew指令的时候,它会做以下三件事:
- 读取用户传入gradlew的参数
- 检查计算机上是否已经安装了对应版本的gradle,如果找到就直接运行gradle
- 如果没有安装,根据程序需求下载对应版本的
gradle
包并运行gradle
那么使用他的好处有什么呢?第一,wrapper可以让你在没有安装gradle的计算机上运行你的代码,而不必去手动安装;第二,wrapper可以保证你在不同的计算机上始终使用相同的gradle版本,这会有效减少执行时的错误。
吐槽:
我每次都会把wrapper打成warpper,好气啊。
参考资料:
- https://stackoverflow.com/questions/39627231/difference-between-using-gradlew-and-gradle
- https://youtu.be/1aA949H-shk
- https://docs.gradle.org/current/userguide/gradle_wrapper.html