使用gradlew和gradle之间的区别

meg*_*cio 195 gradle gradlew

使用gradlew和/ gradle或它们之间的区别是什么?

Abh*_*jit 195

不同之处在于./gradlew表明您使用的是gradle包装器.包装器通常是项目的一部分,它便于安装gradle.如果您在没有包装器的情况下使用gradle,则必须手动安装它 - 例如,在mac上brew install gradle,然后使用该gradle命令调用gradle .在这两种情况下,您都使用gradle,但前者更方便,并确保不同机器之间的版本一致性.

每个Wrapper都绑定到特定版本的Gradle,因此当您第一次运行上述命令之一时,它将下载相应的Gradle版本并使用它来执行构建.

这不仅意味着您不必自己手动安装Gradle,而且还确保使用构建所针对的Gradle版本.这使您的历史构建更可靠

在此处阅读更多内容 - https://docs.gradle.org/current/userguide/gradle_wrapper.html

此外,Udacity有一个整洁,高水平的视频解释gradle这个包装的概念- https://www.youtube.com/watch?v=1aA949H-shk

  • 也许我读错了,但对我来说听起来像个危险信号。听起来Gradle不能向后兼容,或者它发展得非常快(而且不稳定)。无法访问Internet的CI服务器会发生什么? (8认同)

yoA*_*ex5 39

gradlew是一个使用gradle的包装器.

在引擎盖下,Gradle Wrapper执行三项任务:

  1. 解析传递给gradlew的参数
  2. 安装正确的Gradle版本
  3. 调用Gradle以运行指定的任务

使用Gradle Wrapper,您无需自己管理项目Gradle分发.这意味着项目中的每个开发人员都使用相同版本的Gradle并可以运行Gradle构建(即使未安装Gradle)

在这里阅读更多 - https://medium.com/@bherbst/understanding-the-gradle-wrapper-a62f35662ab7