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常用命令和查看错误的主要内容,如果未能解决你的问题,请参考以下文章

gdb 常用选项

华为交换机基本故障排错命令

K8S常用命令

docker命令整理

Gradle常用命令

gdb调试工具常用命令 && kdb