Gradle是一个构建工具,它是用来帮助构建App的,构建包括编译、打包等过程。我们可以为Gradle指定构建规则,然后它就会根据我们的指定的规则构建App。Android Studio默认就使用Gradle来完成应用的构建,除此之外我们可以用Gradle的指令选择性的去构建我们需要的App。
gradlew是gradle wrapper的简写。gradlew与gradlew.bat:gradlew是Linux下的shell脚本,gradlew.bat是Windows下的批处理文件。
gradlew使用标准格式:gradlew [option...] [task...],其中:option表示选项,task表示任务。下边介绍下gradlew常用的指令:(当然我们在使用gradlew命令的时候需要先配置gradle的环境变量)
gradlew的指令:
- gradlew -?/-h/--help:显示帮助信息,会打印可选参数及参数的说明信息。
- gradlew -v/--version:版本号(会打印工程用的Gradle的版本号、Kotlin、Groovy、Ant、JVM、OS等的版本号)
- gradlew tasks --all:查看所有任务,包括缓存任务等
- gradlew clean:清除工程目录下的build文件夹
- gradlew build:检查依赖并编译打包,debug、release环境下的包都会打出来
- gradlew assemble***:编译指定的包:Debug包(gradlew assembleDebug)、Release包(gradlew assembleRelease)、渠道包(gradlew assembleOemRelease/assembleOemDebug)、定制的版本等等;
- gradlew install***:编译并安装指定的包:如Debug包(gradlew installDebug)、Release包(gradlew installOemRelease/installOemDebug)、定制的版本等等;
- gradlew uninstall**:卸载已安装的指定模式的包:如Debug包(gradlew uninstallDebug)、Release包(gradlew uninstallRelease)、渠道包(gradlew uninstallOemRelease/uninstallOemDebug)、定制的版本等等;
- gradlew :模块名称:dependencies,如gradlew :app:dependencies,作用:查看包依赖关系;
- gradlew build -i/--info -d/--debug -s/--stacktrace:编译(build)并打印debug模式和info等级的日志及所用异常的堆栈信息(--stacktrace);
- gradlew clean build --refresh-dependencies:组合指令,清除构建(gradlew clean)并重新构建(gradlew build),同时强制刷新依赖(gradlew --refresh-dependencies);
- gradlew --offline:离线模式,即让Gradle只使用本地cache里的依赖,如果cache中没有也不会更新依赖,而是提示编译失败;
- gradlew --refresh-dependencies:强制刷新依赖,即检查依赖是否有更新比如动态版本、SHA1进行本地cache和远程仓库散列码的对比等,有更新则下载更新进行构建;使用这种方式可以避免手动删除cache;
--info:打印堆栈信息; - gradlew --daemon:守护进程,使用Gradle的守护进程构建,能够提高构建效率,如果守护进程没启动或现有的都处于忙碌状态,就启动一个守护进程;
- gradlew --no-daemon:如果你已经配置为使用守护进程构建,可以使用该选项本次不用守护进程构建;
- gradlew --continuous:连续构建,即任务队列中即使某个任务失败,不会终止执行,而是会继续执行下一个任务;
- gradlew --parallel --parallel-threads=N:并行编译;
- gradlew --configure-on-demand:按需编译。