使用gradlew
和gradle
有什么区别?它们是否相同?
不同之处在于./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
gradlew是一个使用gradle的包装器。
在引擎盖下,Gradle Wrapper执行三项任务:
使用Gradle Wrapper,您无需自己管理项目Gradle分发。这意味着项目中的每个开发人员都使用相同版本的Gradle并可以运行Gradle构建(即使未安装Gradle)
在这里阅读更多 - https://medium.com/@bherbst/understanding-the-gradle-wrapper-a62f35662ab7