Gradle 学习之入门知识
Posted Nicholas_hzf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle 学习之入门知识相关的知识,希望对你有一定的参考价值。
目录
一、什么是 Gradle
- 官网:https://gradle.org/
- 官网介绍:从官网的介绍中,我们不难得知——Gradle 是一个自动化构建工具,可以帮助我们更便捷地构建我们的项目
From mobile apps to microservices, from small startups to big enterprises, Gradle helps teams build, automate and deliver better software, faster.
二、搭建 Gradle 环境(以 Mac OS 为例)
- JDK 环境:1.8+
- 使用 Homebrew 安装 Gradle
brew install gradle
- Q&A:
1.)安装工具:
Homebrew 是一款 Mac OS 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,不用用户关心各种依赖和文件路径的情况,十分方便快捷。
2.)报错解决:
根本原因: Bintray 要关闭了, 所以 Homebrew 的压缩之后就没再往Bintray 那边传了, 而新版的 Homebrew 已经去除了 Bintray 相关,使用 ghcr.io 服务了。
直接原因: 我自己因为网络的原因,使用了国内的镜像,但是国内的镜像是依然指向 Bintray 的, 所以才会出现无法打开压缩包的错误。
解决方法: 不使用国内的源
参考资料: https://zhuanlan.zhihu.com/p/383707713
- 安装成功
三、Gradle 版“Hello World”
- 新建目录:
xxx/Gradle/project/hello
- 在 hello 文件夹下,新建一个 build.gradle 的文件
- build.gradle 里面写上如下代码:
task hello
doLast
println "Hello World"
- 使用命令行进入该文件夹,执行命令
gradle -q hello
- 结果:输出 “Hello World” 字符串,并且目录下生成了一个 .gradle 文件夹,里面有一系列文件(暂时不管,以后学习)
四、“Hello World” 小解析
- 为什么新建的文件叫 build.gradle,叫其他名称是否可以?
答:build.gradle 是 Gradle 默认的构建脚本文件,执行gradle -q xxx
命令的时候,会默认加载当前目录下的 build.gradle 脚本文件。当然,可以叫其他的名称,但是执行的时候需要通过 -b 参数指定想要执行的文件
gradle -q -b test.gradle hello
task hello
doLast
println "Hello World! This is test.gradle"
- 代码含义:
task hello // 定义了一个任务,任务的名称为 hello
// 给任务添加了一个动作(Action)
// doLast 是指在任务执行完后,回调 doLast 闭包里面的代码
doLast
println "Hello World"
- 命令
gradle -q hello
中 -q 的含义:-q 参数用于控制 Gradle 输出的日志级别
级别 | 用处 |
---|---|
ERROR | 错误 |
QUIET | 重要 |
WARNING | 警告 |
LIFECYCLE | 进度 |
INFO | 信息 |
DEBUG | 调试 |
开关选项 | 输出的日志级别 |
---|---|
无选项 | LIFECYCLE 及以上 |
-q 或 --quiet | QUIET 及以上 |
-i 或 --info | INFO 及以上 |
-d 活 --debug | DEBUG 及以上,指定该级别一般会输出所有日志 |
- 日志打印测试
gradle -d -b logTest.gradle LogTest
task LogTest
doLast
// print 系列方法,定向为 QUIET 级别的日志
println "Hello World!"
// 使用内置的 logger
logger.error("error 日志信息")
logger.quiet("quiet 日志信息")
logger.warn("warning 日志信息")
logger.lifecycle("lifecycle 日志信息")
logger.info("info 日志信息")
logger.debug("debug 日志信息")
- 堆栈信息打印
命令行选项 | 作用 |
---|---|
无选项 | 不输出堆栈信息(默认情况) |
-s 或 --stacktrace | 输出关键性的堆栈信息(建议使用,比较精简) |
-S 或 --full-stacktrace | 输出全部堆栈信息 |
整理学习自飞雪无情大佬的《android Gradle 权威指南》和互联网资料
以上是关于Gradle 学习之入门知识的主要内容,如果未能解决你的问题,请参考以下文章