gradle常用命令和查看错误
Posted ITRenj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gradle常用命令和查看错误相关的知识,希望对你有一定的参考价值。
Gradle 常用命令和查看错误信息
Gradle 是 android 现在主流的编译工具,使用它可以帮助我们编译、打包APP等过程。同时,我们也可以为Gradle指定构建规则,让它按照我们的指定构建应用。在Android中,我们常用的clean、build等其实就是使用的gradle方式来进行构建的,只是这些Android studio帮我们做了,我们只需要在界面上进行点击就可以了。但是,还有一些比较有用的命令Android Studio并没有全部封装,比如:查看module的依赖关系、编译错误追踪等。下面我们就来说一说gradle中常用命令(使用gradle的指令,需要用到gradlew(即gradle wrapper的简写))和一个错误追踪的实例。
- 推荐文章:gradle的介绍,《Android Gradle 指南》
- gradlew使用格式:
- gradlew 使用标准格式: gradlew [option…] [task…]
- 也可以用:gradlew [task…] [option…]
其中:option表示选项,task表示任务。
在Android studio,我们可以在Terminal窗口中输入命令。
常用命令
- gradlew -?/-h/–help:显示帮助信息,会打印可选参数及参数说明信息
- gradlew -v/–version:打印版本信息
- gradlew tasks --all:查看所有任务,包括缓存任务等
- gradlew clean:清除工程目录下的build文件夹
- gradlew build:检查依赖并编译打包,debug、release环境的包都会打出来
- gradlew assemble***:编译指定的包:如Debug包(gradlew assembleDebug)、Release包(gradlew assembleRelease)、渠道包(gradlew assembleGoogleRelease/assembleGoogleDebug;渠道包需要结合Product Flavors)、定制的版本等等
- gradlew install***:编译并安装指定的包:如Debug包(gradlew installDebug)、Release包(gradlew installRelease)、渠道包、定制的版本等等;
- gradlew uninstall**:卸载已安装的指定模式的包:如Debug包(gradlew uninstallDebug)、Release包(gradlew uninstallRelease)、渠道包、定制的版本等等;
- gradlew 😒modeleName:dependencies:查看模块的包依赖关系,如gradlew :app:dependencies
- gradlew --refresh-dependencies:强制刷新依赖,即检查依赖是否有更新比如动态版本、SHA1进行本地cache和远程仓库散列码的对比等,有更新则下载更新进行构建
- 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 –info:打印堆栈信息
- gradlew --daemon:守护进程,使用Gradle的守护进程构建,能够提高构建效率,如果守护进程没启动或现有的都处于忙碌状态,就启动一个守护进程;
- gradlew --no-daemon:如果你已经配置为使用守护进程构建,可以使用该选项本次不用守护进程构建;
- gradlew --continuous:连续构建,即任务队列中即使某个任务失败,不会终止执行,而是会继续执行下一个任务
错误追踪
有时候我们在使用Android Studio进行打包apk时,项目报错。但是报错信息却非常少,不知道在哪里报错了。这时候使用gradlew就可以快速的对错误进行定位。
使用命令查看错误详细信息:gradlew build -–stacktrace ,使用该条命令编译项目,并打印异常堆栈信息(当然还可以添加其他的参数)
或者说我们在编译报错时 ,Android studio 往往会告诉我们是哪一个task执行失败了,这打印出来的信息中,我们能找到类似这种信息**Task :app:mergeDebugResources FAILED
**,它告诉我们 mergeReleaseResources task执行失败,那么我们就可以单独执行这条命令(gradlew :app:mergeDebugResources
),打印出失败的详细信息,然后通过详细信息就可以对错误的地方进行修改了。
使用Android Studio点击执行命令
在Android Studio中,有很多命令其实都不需要我们去记住命令,因为大多数的命令可以通过点击的形式执行,我们最常使用的就是运行apk、使用Android Studio进行打包。其实,在Android Studio的 Gradle 窗口中还有很多的命令可以通过点击直接执行。如图:
对于打印错误的详细信息,其实Android Studio中也是可以配置的,位置方式如下:【File -> Settings -> Build, Execution, Deployment > Compiler 的 Command-line Options: 】后面的输入框中可以输入 --stacktrace 或其他需要打印的详细信息参数。
以上是关于gradle常用命令和查看错误的主要内容,如果未能解决你的问题,请参考以下文章