我在研究gradle命令行的时候,查阅资料的时候,会看到非常多的博客要么使用gradle命令,要么使用gradlew命令。看似拼写不一样的两个指令,难道调用的是两个地方或者说两个程序?那前缀gradle看起来也让上面的猜测行不通。
其实,这两个指令调用的都是gradle应用,只是位置不太一样。
gradle
本地是Mac环境,通过homebrew install gradle会默认把gradle安装到/usr/local/Cellar/gradle/某个版本的gradle应用下,那么gradle命令行执行的就是这个路径下的gradle应用。gradlew
gradlew是通过gradle wrapper脚本安装的gradle应用,默认保存在~/.gradle/wrapper/dists/某个版本的应用。gradlew wrapper脚本是为了保证不同硬件环境下,gradle版本号是的一致的,会自动下载里边配置的某个版本的gradle应用。