【Android Gradle】之一小时 Gradle及 wrapper 入门

这篇具有很好参考价值的文章主要介绍了【Android Gradle】之一小时 Gradle及 wrapper 入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。
😊 座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

一 Gradle 是什么❤️

Gradle 是一个基于JVM的构件工具,也是一个基于Groovy语言的,其build 脚本使用Groovy DSL编写的,(DSL是域描述性语言,在后面的文章会为小伙伴们讲解)。
Gradle是适用于自动化地进行软件构建、测试、发布、部署、软件打包的项目。

二 Gradle 安装🌟

在使用Gradle工具之前,需要具备jdk环境,我本地安装的是jdk 1.8

➜  ~java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)

因为我是Mac环境,所以在Mac中安装Gradle如下:

➜  ~ brew install gradle
# 目前最新版本是8.4

当前其他平台的安装也可以 Gradle参考官网。
验证是否安装成功:gradl -v
android wrapper,Android开发,Android开发,Gradle命令,Wrapper,Gradle日志级别,Gradle堆栈信息

三 牛刀小试 🫘

Gradle 已经安装完毕,接下来我们先简单写一个 Gradle 脚本并执行。
新建一个目录文件 gradleTest,在目录下创建一个文件名为:build.gradle,

➜  ~ mkdir gradleTest
➜  ~ cd gradleTest
➜  ~ touch build.gradle

在build.gradle中输入以下内容

task hello{
	doLast{
		println "hello world"
}
}

运行Gradle脚本,gradle 任务名,例如:gradle hello
android wrapper,Android开发,Android开发,Gradle命令,Wrapper,Gradle日志级别,Gradle堆栈信息
可以看到结果被打印出来,接下来我们来详细分析下:

  1. 首先当在命令行输入 gradle hello 时,会默认加载当前目录下名为build.gradle的构建脚本文件,然后执行脚本文件中名为 hello 的Task(任务)。在上述脚本中,我们给 hello 这个Task定义了一个 action(也就是动作),doLast 也可以理解为Task执行完毕后要回调对应的信息。如果你想加载指定的文件,则可以写为 gradle hello 01 -b hello01.gradle
  2. println 相当于java中的system.out.println,因为 gradle 是基于 Groovy 实现的,而 Groovy 是由Java实现的,这就不难理解了。还有一点需要说明,在Java中单引号表示字符,双引号表示字符串,而在这里都是表示字符串。
  3. 执行命令 gradle hello时,会打印出一些详细日志信息,如果不希望展示详细信息则可写为 gradle -q hello,-q (quiet静默)选项表示以简化的输出模式,只显示任务的执行结果。

四 gradle wrapper 🤝

wrapper是包装纸的意思,在这里的含义是 对Gradle 进行包装,目的是便于在团队开发过程中统一 Gradle 构建的版本,避免因为 gradle 版本不一致导致的问题。
如何生成wrapper???
Gradle提供了内置的Wrapper task,可以帮助我们自动生成wrapper 所需的目录文件。在命令行输入 gradle wrapper
android wrapper,Android开发,Android开发,Gradle命令,Wrapper,Gradle日志级别,Gradle堆栈信息
ls下会看到当前目录下生成了一些新的文件,目录结构如下:

gradle
	--wrapper
		--gradle-wrapper.jar
		--gradle-wrapper.properties
gradlew
gradlew.bat

其中,
gradlew 是Linux和Mac下的可执行脚本;gradle.bat 是windows下的可执行脚本。gradle-wrapper.jar是具体业务逻辑实现的jar包,gradlew 最终还是使用java执行的这个jar包来执行相关 Gradle 操作。
gradle-wrapper.properties 是配置文件,用于配置使用的哪个版本的 Gradle 等信息。具体内容如下:
android wrapper,Android开发,Android开发,Gradle命令,Wrapper,Gradle日志级别,Gradle堆栈信息
gradle wrapper 配置文件中相关字段说明(内容来源于《Android Gradle 权威指南》)

distributionBase 下载的Gradle 压缩包解压后存储的主目录
distributionPath 相对于distributionBase的解压后的Gradle 压缩包的路径
distributionUrl Gradle 发行版压缩包的下载地址
zipStoreBase 和distributionBase类似,存放的是zip压缩包
zipStorePath 和distributionPath类似,存放的是zip压缩包

distributionUrl=https://services.gradle.org/distributions/gradle-8.4-bin.zip,因为我本地安装的 gradle 版本是8.4,所以使用的 wrapper 的gradle也是8.4版本,如果想生成指定的 wrapper 的 gradle 版本,可以使用下面的两个方法

方法一:在执行gradle wrapper命令时指定版本

例如:gradle wrapper —gradle-version 8.3

当命令执行完毕后,会看到生成的gradle-wrapper.properties中的distributionUrl为https://services.gradle.org/distributions/gradle-8.3-bin.zip

方法二:通过自定义Wrapper Task,指定版本

task wrapper01(type:Wrapper){
	gradleVersion = '2.4'
}

执行脚本:gradle wrapper01,结果如下

android wrapper,Android开发,Android开发,Gradle命令,Wrapper,Gradle日志级别,Gradle堆栈信息

值得注意的是:脚本中task wrapper01(type:Wrapper) 需要指定task的类型,如果没有指定的话则会出现以下问题

android wrapper,Android开发,Android开发,Gradle命令,Wrapper,Gradle日志级别,Gradle堆栈信息
另外,避免在 Gradle 构建脚本中使用 ‘wrapper’ 作为自定义任务的名称,因为该名称已被默认任务占用。选择其他唯一的任务名称来避免冲突。
gradlew的用法和gradle一样,gradle怎么用,gradlew也就怎么用,例如 gradlew hello,具体的使用说明我们会在后续的文章中分享。

五 Gradle 日志级别及日志信息调试 🔥

5.1 Gradle 日志级别

在Gradle中 日志将被分为六个级别,分别如下:

ERROR 错误消息
QUIET 重要消息 -q 参数
WARNING 警告消息
LIFECYCLE 进度消息
INFO 信息消息 -i 参数
DEBUG 调试消息 -d 参数

具体使用如下:
android wrapper,Android开发,Android开发,Gradle命令,Wrapper,Gradle日志级别,Gradle堆栈信息

5.2 日志信息调试

在之前的脚本中,我们使用println来输出一些日志,当然还有另一种方式,可以使用内置的logger来控制不同级别的日志,例如:

logger.quiet('quiet信息')
logger.error('error信息')

例如build.gradle 内容如下
android wrapper,Android开发,Android开发,Gradle命令,Wrapper,Gradle日志级别,Gradle堆栈信息
当执行 gradle hello时,会看到相关的日志输出。
android wrapper,Android开发,Android开发,Gradle命令,Wrapper,Gradle日志级别,Gradle堆栈信息

六 Gradle 如何输出堆栈信息 📖

Gradle除了上面提供的日志信息外,还提供了堆栈信息的打印,默认情况下,堆栈信息的输出是关闭的,但可以通过命令将堆栈信息打开,例如,gradle -s hello1 -b build01.gradle,使用-s选项,表示输出关键性的堆栈信息。(-b参数表示指定执行脚本文件)
因为在此处故意将gradle脚本文件内容写错,所以在执行时,会出现对应的堆栈信息。
android wrapper,Android开发,Android开发,Gradle命令,Wrapper,Gradle日志级别,Gradle堆栈信息

七 小结 ❤️

在本篇文章中,我们了解到 Gradle 的基本概念以及如何生成 gradlew,这块分享了两个方法,还分享了 gradle的日志级别、日志调试信息、以及如何输出堆栈信息帮助排查日常Bug。另外 gradlew 的用法与 gradle 的用法完全一致,在后续的文章会分享。如何你想了解更多内容,赶快关注小曾吧,当然也可以关注下方,小编会源源不断的输出精彩内容。文章来源地址https://www.toymoban.com/news/detail-753471.html

到了这里,关于【Android Gradle】之一小时 Gradle及 wrapper 入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开发Android App,令人头疼的Android Studio、Gradle、JDK、Andrroid Gradle Plugin版本问题

    开发Android App,各种报错。真是炼狱般的体验,一弄弄一天,一抬头半夜两点半,时间废了还没成果,真是服了。 记录下问题,便于后期查阅。 看到网友搞笑评论:Gradle 在不做人方面,一直很稳定 Android Studio 版本:Flamingo | 2022.2.1 Patch 1 默认支持的JDK: 默认自带的 JDK 17 创建

    2024年01月25日
    浏览(46)
  • Android 开发中需要了解的 Gradle 知识

    作者:wkxjc Gradle 是一个基于 Groovy 的构建工具,用于构建 Android 应用程序。在 Android 开发中,了解 Gradle 是非常重要的,因为它是 Android Studio 默认的构建工具,可以帮助我们管理依赖项、构建应用程序、运行测试等。 本文将介绍 Android 开发中需要了解的一些 Gradle 知识,包括

    2024年02月13日
    浏览(25)
  • Android开发中Gradle插件,Gradle版本与JDK版本之间的对应关系

    Gradle插件 Gradle版本 SDK Build Tools JDK版本 说明 8.2 8.1 17 8.1 8.0 17 8.0 8.0 30.0.3 17 7.4 7.5 30.0.3 11 7.3 7.4 30.0.3 11 7.2 7.3.3 30.0.3 11 7.1 7.2 30.3.30 11 4.2.0+ 6.7.1 30.0.2 8+ 4.1.0+ 6.5+ 29.0.2 8+ 4.0.0+ 6.1.1+ 29.0.2 8+ 3.6.0~3.6.4 5.6.4+ 28.0.3 8+ 3.5.0 - 3.5.4 5.4.1+ 28.0.3 8+ 3.4.0 - 3.4.3 5.1.1+ 28.0.3 8+ 3.3.0 - 3.3.3 4.10.1+ 28.0

    2024年03月20日
    浏览(55)
  • Android Studio开发环境搭建及本地Gradle设置方法

    Android Studio开发环境搭建及本地Gradle设置方法 在进行Android应用程序开发时,Android Studio是一款非常强大的集成开发环境(IDE)。它提供了丰富的工具和功能,帮助开发者轻松创建、测试和调试Android应用程序。本文将详细介绍如何搭建Android Studio开发环境,并配置本地Gradle设置

    2024年02月07日
    浏览(42)
  • Android Studio开发环境搭建及设置本地Gradle方法

    Android Studio开发环境搭建及设置本地Gradle方法 在Android应用程序开发中,Android Studio是一款非常受欢迎的集成开发环境(IDE)。本文将详细介绍如何搭建Android Studio开发环境,并设置本地Gradle方法。同时,我们也会提供相应的源代码示例。 下载和安装Android Studio 首先,我们需要

    2024年01月19日
    浏览(38)
  • 在android开发环境中,gradle 版本和 java 版本的对应关系

    在android开发环境中,gradle 版本和 java 版本的对应关系 Gradle 版本 所支持的 JDK 版本 6.x JDK 8、JDK 11(仅限 Gradle 6.7 及更高版本) 5.x JDK 7、JDK 8 4.x JDK 6、JDK 7、JDK 8 3.x JDK 6、JDK 7、JDK 8 2.x JDK 6、JDK 7、JDK 8 1.x JDK 6、JDK 7

    2024年02月09日
    浏览(37)
  • Android开发中,JDK版本,Gradle版本,Kotlin插件与Kotlin版本等各自对应关系

    一、Gradle版本和Java版本对应关系 二、Gradle版本和Kotlin版本对应关系 三、Gradle版本和Gradle插件版本匹配关系 可以在Android Studio的 File Project Structure Project 菜单中指定插件版本,也可以在顶级 build.gradle 文件中进行修改

    2024年03月15日
    浏览(54)
  • Android Studio下载及安装和Gradle的配置(非常详细)从零基础入门到精通,看完这一篇就够了

    文章目录 下载 安装 修改Sdk的位置 创建项目 修改Gradle的位置 查看AS版本 工具栏–View项 工具栏–Build下的功能说明 Build Variants视图说明 下载模拟器(avd)/安卓虚拟设备 屏幕熄灭功能 关闭虚拟设备功能 删除自己开发的应用软件 将开发的应用运行到虚拟设备上。 修改模拟器

    2024年02月09日
    浏览(44)
  • Android Studio下载及安装和Gradle的配置(非常详细)从零基础入门到精通,看完这一篇就够了_

    文章目录 下载 安装 修改Sdk的位置 创建项目 修改Gradle的位置 查看AS版本 工具栏–View项 工具栏–Build下的功能说明 Build Variants视图说明 下载模拟器(avd)/安卓虚拟设备 屏幕熄灭功能 关闭虚拟设备功能 删除自己开发的应用软件 将开发的应用运行到虚拟设备上。 修改模拟器

    2024年02月06日
    浏览(43)
  • mac 配置 gradle 、gradle-wrapper.properties文件 distributionUrl 指定本地gradle.zip

    mac配置 gradle https://blog.csdn.net/RreamigOfGirls/article/details/126300196 gradle-wrapper.properties 文件: distributionUrl 指定本地gradle.zip 注意 如果是从官网下载,用的是 https

    2024年01月19日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包