随笔博文

福利推荐-办理成功后可加微信领取20红包

gradle常用命令和查看错误

2024-01-09 23:14:41 michael007js 1359

Gradle 是现在主流的编译工具,使用它可以帮助我们编译、打包APP等过程。同时,我们也可以为Gradle指定构建规则,让它按照我们的指定构建应用。下面我们就来说一说gradle中常用命令(使用gradle的指令,需要用到gradlew(即gradle wrapper的简写))和一个错误追踪的实例。

gradlew使用格式:

gradlew 使用标准格式: gradlew [option…] [task…]
也可以用:gradlew [task…] [option…]

其中:option表示选项,task表示任务。

常用命令

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中,有很多命令其实都不需要我们去记住命令,因为大多数的命令可以通过点击的形式执行,我们最常使用的就是运行apk、使用Android Studio进行打包。其实,在Android Studio的 Gradle 窗口中还有很多的命令可以通过点击直接执行。如图:

图片关键词

对于打印错误的详细信息,其实Android Studio中也是可以配置的,位置方式如下:【File -> Settings -> Build, Execution, Deployment > Compiler 的 Command-line Options: 】后面的输入框中可以输入 —stacktrace 或其他需要打印的详细信息参数。

图片关键词

首页
关于博主
我的博客
搜索