我们可以使用gradle build去构建项目。也可以使用 ./gradlew build (mac or linux) 【gradlew build (window)】
那么这俩个有什么区别呢?
而如果你使用gradle build的话,同时你又有多个项目使用不同版本的gradle,那就需要你手动在自己的机器上配置多个版本的gradle,稍微麻烦一些.
gradle版本会不断更新,每个人使用的版本可能会不同,而gradlew(wrapper)可以算是gradle的一层包装
让我们使用相同版本的gradle进行构建,我们在gradle -> wrapper中可以看到gradle-wrapper.properties文件
打开,可以看到配置的gradle版本的信息:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
我们使用gradlew命令的时候,会根据这个文件来使用对应的gradle进行构建,没有则会下载.
gradlew正是运行了wrapper task之后生成的(运行wrapper task是Android Studio自动做的)
但是我们在使用./gradlew 命令时,有时候会报:
env: sh\r: No such file or directory
这是什么原因呢?
看如下图,
mac环境下将gradlew文件格式改为LF