Gradle命令详解
前面一节课中,我们介绍了 Gradle 的任务声明,任务依赖,Gradle 构建的顺序等。其实在文章中我们也提到了一些 Gradle 命令。本文我们将为大家介绍一下 Gradle 的命令,包括会将前面的命令使用做一个汇总。
1. 使用 Gradle 命令
使用 Gradle 命令就是我们在命令控制台输入 Gradle 命令,使用 Gradle 命令我们可以配置 Gradle 环境,也可以不用配置 Gradle 环境,下面我们看下具体的使用方法:
1.1 已经安装了Gradle环境
如果安装了 Gradle 环境变量的话,我们直接使用gradle [命令],检查有没有安装 Gradle 环境我们可以使用下面命令:
如果如上所示,输出 Gradle 版本则说明已经安装了 Gradle 环境,如果如下所示,则说明没有安装 Gradle 环境,关于 Gradle 环境变量的安装配置请看《构建自己的Gradle工程》
1.2 没有安装 Gradle 环境
我们前面提到过如果没有安装配置 Gradle 环境变量,我们可以使用gradlew命令。我们前面知道我们创建 Android 项目时默认会有两个脚本gradlew.bat[Windows平台]和gradlew[Linux和Unix平台]。这两个脚本里面预置了我们常用的一些命令。我们以clean命令为例:
2. Gradle 常用命令
2.1 使用 Gradle Wrapper
我们前面讲《Gradle Wrapper详解》的时候提到过我们如果要使用 Gradle Wrapper 的话可以使用命令
2.2 查看项目的任务依赖
要查看项目的依赖关系图,我们可以运行以下命令:
运行该命令后我们可以在控制台看到项目的整体依赖关系和各个模块的依赖关系图,如上面的部分输出所示。
Tips:上面我们运行的命令输出的是整个项目的依赖,有时候我们只需要查查看当前 module 的依赖,那么我们怎么查查看呢?如下,我们输入gradle [module_name]:dependencies,例如我们想要查看 app 模块的依赖,我们可以执行如下命令:
2.3 排除某些任务
前面我么讲了 Gradle 的任务,我们可以用-x选项去排除一个任务。我们在build.gradle中定义的task mTest,我们如果想要跳过mTest,可以用以下的命令:
2.4 分析项目构建
在 Gradle 中内置了对项目分析的支持,我们平时如果遇到构建的性能问题,比如我们构建时间长,想要查看每个任务构建时间,我们可以使用这个命令[--profile build]来生成项目的配置文件报告,报告会以文件形式生成在 build/reports/ 目录下,如下所示:
我们看到控制台它会输出已生成 HTML 格式和 XML 格式的文档。我们可以看下 reports 文件夹
我们在浏览器中,大家打开该文件就可以看到具体的任务耗时了,如下图:
2.5 查看 Gradle 的 Task
我们在开发过程中有时候难免会要查看 Gradle 构建有哪些任务,那么我们就可以使用下面的命令来查看:
我们可以看到这个命令执行后会输出输出各种任务。
Tips: 我们看到这个很多,其实该命令输出的不是所有的命令,要查看项目构建的所有命令,我们需要执行的时候 后面加上 –all如下:
2.6 使用 Gradle 命令来打 Android 包
我们在开发中经常是点击 run 按钮来执行编译并打包的,这样打出来的包是 Debug 包,供我们开发者来开发调试的,但是我们上线或是提交测试的时候我们需要提交的是 Release 包。下面我们就来看下我们如何使用 Gradle 命令来打包。
以上是我总结的我们平时开发中打包最常用的几个命令。
2.7 exlude 排除依赖包中的部分类
我们开发中,可能大家或多或少都会遇到 jar 包冲突的问题,有时候两个 jar 包不同,但是里面有两个类的包名路径是一摸一样的。这样我们就需要排除掉某个包中的重复的类,这时候就需要用的 exclude 命令,如下我们就以排除这个hibernate包中的类为例子。
3. 小结
这一篇文章我们主要是学习了,我们日常开发中会用到的 Gradle 的一些命令。可能有同学会问,我们为什么要了解 Gradle 命令?我们平时直接使用工具编译不就好了。当然我们可以通过 AS 等编译工具来编译,其实 AS 的编译按钮也是在执行 Gradle 命令,有时候为了更好的提高我们的开发效率为我们节省时间。我们就需要用到 Gradle 的命令去排查问题。还有一个就是我们了解 Gradle 命令有助于我们后面 Gradle 运用在组件化,插件化,编译自己的 Gradle 插件等方面。