Gradle 学习之入门知识

Posted Nicholas_hzf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle 学习之入门知识相关的知识,希望对你有一定的参考价值。

目录

一、什么是 Gradle

  1. 官网:https://gradle.org/
  2. 官网介绍:从官网的介绍中,我们不难得知——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 为例)

  1. JDK 环境:1.8+
  2. 使用 Homebrew 安装 Gradle brew install gradle
  3. Q&A:
    1.)安装工具:
    Homebrew 是一款 Mac OS 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,不用用户关心各种依赖和文件路径的情况,十分方便快捷。
    2.)报错解决:
    根本原因: Bintray 要关闭了, 所以 Homebrew 的压缩之后就没再往Bintray 那边传了, 而新版的 Homebrew 已经去除了 Bintray 相关,使用 ghcr.io 服务了。
    直接原因: 我自己因为网络的原因,使用了国内的镜像,但是国内的镜像是依然指向 Bintray 的, 所以才会出现无法打开压缩包的错误。
    解决方法: 不使用国内的源
    参考资料: https://zhuanlan.zhihu.com/p/383707713
  4. 安装成功

三、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” 小解析

  1. 为什么新建的文件叫 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"
    

  1. 代码含义:
task hello // 定义了一个任务,任务的名称为 hello
	// 给任务添加了一个动作(Action)
	// doLast 是指在任务执行完后,回调 doLast 闭包里面的代码
    doLast
        println "Hello World"
    

  1. 命令 gradle -q hello 中 -q 的含义:-q 参数用于控制 Gradle 输出的日志级别
级别用处
ERROR错误
QUIET重要
WARNING警告
LIFECYCLE进度
INFO信息
DEBUG调试
开关选项输出的日志级别
无选项LIFECYCLE 及以上
-q 或 --quietQUIET 及以上
-i 或 --infoINFO 及以上
-d 活 --debugDEBUG 及以上,指定该级别一般会输出所有日志
  1. 日志打印测试 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 日志信息")
    

  1. 堆栈信息打印
命令行选项作用
无选项不输出堆栈信息(默认情况)
-s 或 --stacktrace输出关键性的堆栈信息(建议使用,比较精简)
-S 或 --full-stacktrace输出全部堆栈信息

整理学习自飞雪无情大佬的《android Gradle 权威指南》和互联网资料

以上是关于Gradle 学习之入门知识的主要内容,如果未能解决你的问题,请参考以下文章

Gradle 学习之入门知识

Gradle 学习之入门知识

Gradle 学习之入门知识

Android学习之基础知识二(build.gradle文件详解)

Gradle学习之闭包

gradle DLS学习之ResolutionStrategy