Gradle入门

Gradle Wrapper 工作流程、生成、更新 这个工作流程确保了项目构建的一致性,无论开发者的本地环境中是否已经安装了 Gradle,或者安装的是哪个版本的 Gradle。通过这种方式,Gradle Wrapper 简化了项目的构建过程,并减少了因环境差异导致的构建问题。 阅读详情

目录

Gradle版Hello World

Gradle Wrapper

生成wrapper

wrapper配置

gradle-wrapper.properties

自定义Wrapper Task

Gradle日志 

日志级别

输出错误堆栈信息 

自定义日志

Gradle命令行

命令行使用帮助

查看所有可执行的Tasks

Gradle Help任务

强制刷新依赖

 多任务调用

缩写任务名字执行


Gradle版Hello World

        新建一个目录,我这里是是GradleLearn,在这个目录下创建一个名为build.gradle的文件,编写这个文件:

task hello{
    dolast{
        println'hello world'
    }
}

        打开终端,移动到GradleLearn文件下,使用 gradle -q hello 命令来执行构建脚本:

gradle -q hello

hello world

        最终打印出来我们想要的结果,简单的来分析一下步骤和原因,build.gradle是Gradle默认的构建脚本文件,执行Gradle命令的时候,会默认加载当前目录下的build.gradle脚本文件,也可以通过 -b 参数指定想要加载执行的文件。

        这个构建脚本定义一个任务(Task),任务名字叫hello,并且给任务hello添加了一个动作,官方名字是Action, 其实它就是一段Groovy语言实现的闭包。

        doLast{...}是task执行完毕之后就要回调doLast的这部分闭包代码的实现。

        闭包:Groovy 中的闭包是一个开放的、匿名的代码块,可以接受参数、返回值并分配给变量。参考官方文档 闭包  ,不会英文的可以通过浏览器的来翻译成中文的来看。

        gradle -q hello这段运行命令,就是要执行build.gradle脚本中定义,明为hello的Task。

        -q 参数用于控制gradle输出日志的级别。

         println'hello world' ,它其实就是System.out.println("hello world")的简写。Gradle可以识别它,是因为Groovy已经把println()这个方法添加到到java.lang.Object,  在Gradle中方法调用中可以省略括号的, 还有一点就是,在Groovy中,单引号和双引号所包含的内容都是字符串,在java当中,单引号是字符,双引号才是字符串。

Gradle Wrapper

        gradle wrapper 其实就是对gradle的一层包装,便于在团队开发过程统一gradle构建的版本,可以避免团队开发过程中Gradle版本不一致的问题。

        Wrapper在windows下是一个批处理脚本,在Linux下是一个shell脚本。

        wrapper启动Gradle的时候,wrapper会检查Gradle有没有被下载关联,如果没有将会从配置的地址(一般是Gradle官方库)进行下载并运行构建,不需要专门配置环境,只要执行Wrapper命令,它就会自动搞定一切。

生成wrapper

        Gradle提供内置的Wrapper task来帮助我们生成Wrapper所需要的目录文件,只需要在我们项目的根目录中输入gradle wrapper即可生成:

         gradle和gradle.bat分别是Linux和windows下的可执行脚本,用法和gradle原生命令是一样的

        gradle.wrapper.jar是具体的业务逻辑实现的jar包,gradle最终还是使用java来执行这个jar包。

        gradle-wrapper.properties是配置文件,用于配置使用哪个版本得Gradle。

        wrapper文件一般会提交到项目中的Git,这样其他开发人员就使用这里配置好的,统一的Gradle进行构建开发。

wrapper配置

        在终端执行 gradle wrapper 生成相关文件的时候,可以指定一些参数,来控制Wrapper的生成,比如依赖的版本等,如表1-1。

          在终端执行gradle wrapper --gradle-version 2.4 ,主要是配置Wrapper使用2.4版本的Gradle,它会影响gradle-wrapper.properties中的distributionUrl的值,该值得规则是:

http\://services.gradle.org/distributions/gradle-${gradle Version}-bin.zip 

        如果只执行 gradle wrapper,它会使用当前Gradle的版本,作为生成的Wrapper的gradle version。假如,当前安装的Gradle是2.8版本的,生成Wrapper的版本也是2.8。

gradle-wrapper.properties

        该配置文件是 gradle wrapper 的相关配置文件,该文件的配置字段如下 表1-2。

         distributionUrl是个非常重要的字段,它可以决定 gradle wrapper依赖那个Gradle版本,一般情况是这个样子的:http\://services.gradle.org/distributions/gradle-2.14.1-bin.zip ,通常情况下,把bin改为all,这样就是阅读Gradle源码了。

自定义Wrapper Task

        gradle-wrapper.properties是由Wrapper Task生成的,可以通过自定义配置该Wrapper Task来达到配置 gradle-wrapper.properties的目的,在build.gradle构建文件中录入以下脚本:

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

        再执行gradle wrapper的时候,不需要执行gradle wrapper --gradle-version 2.4, 直接执行 gradle wrapper就可以了。也可配置其他参数,

Gradle日志 

日志级别

级别用于
ERROR错误消息
QUITE重要消息
WARNING警告消息
LIFECYCLE进度消息
INFO信息消息
DEBUG调试消息

 要显示指定级别的日志,可以通过日志开关来控制的,在执行的时候加入下面这些开关即可.

开关选项输出的日志级别
无选项 LIFECYCLE及其更高级别
-q 或者 --quiteQUITE
-i 或者 --infoINFO
-d 或者 --debugDEBUG
//输出的日志会是 QUITE 级别    
gradle -q task

//输出INFO级别及其之上的日志信息。
gradle -i task

输出错误堆栈信息 

        默认情况下,堆栈信息的输出是关闭的,需要我们手打开它。

命令行选项用于
无选项没有堆栈信息输出
-s 或者 --stacktrace输出关键堆栈信息
-S 或者 -full-stacktrace输出全部堆栈信息

        一般使用 -s 或者 --stacktrace 输出关键堆栈,输出全部堆栈信息就太多了,不好定位问题。

自定义日志

        如何使用自定义的日志,通过Gradle提供的日志功能,来实现自定义日志。

        一般情况下,我们经常是使用 println来打印出日志信息,(他是Gradle的QUITE级别日志)

println '输出重要的日志'

        除了这些,还可以使用Gradle提供内置的logger,是调用Project的getLogger()方法获取对象的实例来实现的。

  logger.quiet('quiet 重要消息')    
  logger.error('error 错误消息')    
  logger.lifecycle('lifecycler 进度消息')    
  logger.warn('warn 警告消息')    
  logger.info('info 消息 信息')    
  logger.debug('debug 调试信息')

Gradle命令行

命令行使用帮助

        如果不会或者不知道命令,可以通过帮助来了解。(基本都在命令行后跟 -h或者 -help,也可以使用 -?)。

gradle -?
gradle -h
gradle -help

查看所有可执行的Tasks

        通过运行 gradle tasks 命令,输出一下结果:

                Gradle 以分组的方式列出Task列表,比如构建类的 init ,wrapper,帮助类:help,tasks,等。

Gradle Help任务

        每一个命令行都有帮助类, Gradle还内置了一个help task,这个task可以让我们了解每一个task的使用帮助,用法 gradle help -task ,比如gradle help --tasks,就可以显示tasks任务的帮助信息:

        从帮助信息可以看出,这个task有什么用,是什么类型,属于哪个分组,有哪些可以使用的参数,比如图中的 --all参数,可以查看很多的额外信息。

强制刷新依赖

         强制更新Maven工具缓存使用的。

gradle build --refresh-dependencies

 多任务调用

       按照顺序执行任务,比如我执行jar之前,先执行clean,对calss文件进行清理,在进行通过jar生成一个jar包,

        只需要按照顺序已空格分开即可,比如 gradle clean jar ,这样就可以了。

缩写任务名字执行

        定义任务名字太长,可以通过使用Gradle提供基于驼峰命名法来进行缩写,

        比如 migrationFiles ,一般我我们执行的是:gradle migrationFiles, 也可以:gradle mf 。

参考书籍:Android Gradle权威指南

        

 

        

        

        

gradle打包入门 因为要使用jenkins实现app自动化打包,因此要研究安卓和ios 的打包方式,首先从安卓开始 一、前期需要准备的东西 1、安装gradle 网上教程很多,随便搜一个 https://www.cnblogs.com/linkstar/p/7899191.html 2、安装android sdk 参考网上教程 二、找个源码 https://github.com/HotBitmapG... 阅读详情

相关推荐

Tomcat 启用RewriteValve 失败,如何解决?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,但经过精心筛选和整理,保证每一条解决方案都经过实战验证,真实可靠。

**My Coding Family** 1978

gradle-wrapper.jar说明

本文转载自 博主「牛八少爷」的原创文章:https://blog.csdn.net/niuba123456/article/details/81074340 Gradle-Wrapper是简化Gardle的安装和部署,如果本地没有部署Gardle就使用Gardle-Wrapper; gradle-wrapper位于项目根目录下的gradle目录中的wrapper目录下; gradle-wrapper.zip gradle-warpper需要的jar包; gradle-wrapper.properti

FussyCat的博客 4014

Gradle教程-一、Gradle基础入门

Gradle是一款基于JVM的开源构建工具,提供灵活高效的构建解决方案。本文介绍了Gradle的基础知识,包括其定义、发展历程以及与Ant、Maven等传统构建工具的对比优势。详细讲解了在Windows、Linux和Mac系统下的安装步骤及环境变量配置方法,并指导如何验证安装成功。此外,还介绍了使用IntelliJ IDEA和Eclipse创建Gradle项目的方法,解析了标准Gradle项目的目录结构,包括src、build等关键目录,以及build.gradle、settings.gradle等核心配置

无 262

Gradle 基础学习(二) 认识Gradle Wrapper

认识Gradle Wrapper, 使用gradlew来执行Gradle构建

Roy1986613的博客 2598

【图文步骤】EC-Engineer部分操作详细步骤

EC-Engineer部分功能详细使用手册

weixin_42212468的博客 6167

Gradle Wrapper 详解

Gradle Wrapper 详解 我们介绍了 Android 项目的目录及 Gradle 配置,我们提到有个目录是/gradle/wrapper。今天这篇文章我们来学习 Gradle Wrapper。通过这篇文章我们将了解什么是 Gradle Wrapper?为什么需要用 Gradle Wrapper?以及 Gradle Wrapper 的重要性。 1. 什么是 Gradle Wrapper? 关于“什么是 Gradle Wrapper?”这个问题在官网是这么定义的: The recommende

AirField的博客 9547

使用buildroot系统的qmake编译QT出现Unknown module(s) in QT: xxxx 的错误解决方法

可以看到,我这里使用的是 qt5base-5.15.2 目录下的qmake,这个qmake只包含了基础的qt模块,而额外添加的qt模块没有包含进去,需要使用。可以看到我这里是有的,如果你跟我一样,模块存在,但是还是报找不到对应模块的错误的话,大概率是跟我一样,用错qmake了,看第二点。在包含 qt5base 目录下查看,是否有对应模块的目录,如果没有的话,需要通过make menuconfig 添加一下。目录下的qmake才可以。

T541132的博客 2489

gradle快速入门

Gradle 是一款Google 推出的基于JVM、通用灵活的项目构建工具,支持Maven,JCenter 多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml 文件,转而使用简洁的、支持多种语言(例如:java、groovy 等)的build 脚本文件。官网地址:Gradle Wrapper 实际上就是对Gradle 的一层包装,用于解决实际开发中可能会遇到的不同的项目需要不同版本的Gradle问题。1.对方电脑没有安装gradle2.对方电脑安装过gradle,但是版本太旧了。

weixin_45829957的博客 6849

STM32通过ESP8266连接机智云APP(第二讲,烧录固件并测试)

今天与大家分享STM32通过ESP8266连接机智云APP,并完成数据的上传下发第二讲。带大家一起烧录机智云固件到ESP8266并且将其通过机智云串口助手与APP进行测试。

qq_63267523的博客 1425

通过Robotstudio修改机器人程序的具体方法和步骤

通过Robotstudio修改机器人程序的具体方法和步骤

Robot_PLC_HMI_Automation 6393

Gradle理论与实践一:Gradle入门

文章目录Gradle入门1、配置Gradle环境2、Gradle之Hello World3、gradle 与gradlew的区别4、Gradle命令介绍5、Gradle 工作流程 Gradle入门 Gradle一门DSL(Domain Specific Language,领域特定语言),Gradle基于Groovy语言,专门用来解决自动化构建。Gradle可以认为是一个框架,负责定义流程和规则。而...

小马快跑的博客 4332

AUTOSAR进阶图解==>AUTOSAR_SWS_BSWGeneral

本文详细解析AUTOSAR基础软件(BSW)模块的通用规范,涵盖其分层架构、配置管理、初始化流程和状态转换机制。AUTOSAR采用清晰的分层设计,包括应用层、服务层、ECU抽象层和微控制器抽象层,各层模块通过标准化接口交互。BSW模块配置采用类型化定义,支持预初始化、初始化和后期构建配置。文档还阐述了模块初始化流程中的依赖管理,以及运行时的状态转换与错误处理机制,为汽车电子控制单元的标准化开发提供规范指导。

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 1127

一、Gradle入门

Gradle入门

希望有点用 1323

6.Burp Suite 入门篇 —— Burp Scanner 漏洞扫描

Burp Scanner 既可以是独立的全自动扫描器,也可以在手动测试中当作强大的辅助手段,而且随着技术改进,Burp Scanner 能检测到的漏洞数量也在不断增加。Burp Scanner 功能只在 burpsuite 专业版和企业版中里有,本篇教程讲的是专业版的 Burp Scanner 用法。

YouTheFreedom的博客 1万+

电商平台系统需求规格说明书(示例)

​​电商系统​​:指本文件所描述的集商品展示、销售、支付、物流跟踪、用户管理等功能于一体的综合性在线购物平台。​​API​​:应用程序编程接口(Application Programming Interface),用于实现系统各模块之间或与外部系统之间的数据交互和功能调用。

跟佟格湾一起学习计算机知识吧~ 1262

【Gradle 系列文章:你真的了解 Gradle 吗】一:Gradle 入门

本文为菜鸟窝作者 吴威龙 的连载 Gradle 是什么 Gradle 学习方式以及资料 一个 Android 项目中的文件结构AS 而非 Eclipse 常用的 gradle 文件介绍 module app 里面的 buildgradle gradle 文件夹 distributionUrl 另外四个属性 当然不了解也没关系 各项属性的整体含义 项目全局的 buildgradle gradlepr

Veyron_wu 3299

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java Gradle 入门与实践

目录一、Gradle初识1.1.安装与配置1.1.1.下载1.1.2.解压1.1.3.配置1.1.4.验证1.1.5.Idea配置1.2.构建gradle项目1.2.1.原始构建1.2.2.ide创建二、Gradle进阶2.1.项目结构2.2.熟悉build.gradle2.2.1.构建脚本常用属性2.2.1.1.group2.2.1.2.version2.2.1.3.sourceCompatibility2.2.1.4.repositories2.2.1.5.dependencies2.2.1.6.con

qq_38531706的博客 3776

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Gradle 快速入门

前言文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger种一棵树最好的时间是十年前,其次是现在絮叨为啥有这篇...

qq_42820805的博客 447

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Gradle 从入门到实战

Gradle 从入门到实战

pbyang_love的博客 314

Gradle 插件入门

一篇文章学会自定义Gradle插件。

Egos 的专栏 3366

Only老K说-Gradle入门(项目需要)

Gradle入门Gradle简介Gradle安装Gradle集成ideaGroovy语言简单介绍Gradle仓库 Gradle简介 Gradle安装 自己下载解压 GRADLE_HOME:D:\Gradle\gradle-6.4 Path:%GRADLE_HOME%\bin cmd查看:gradle -v Gradle集成idea 创建的时候需要连接网络(Gradle需要下东西的) src/main/java 放置正式代码目录 src/main/resouces 放置正式配置文件 src/tes

only老K的博客 qq:1025271924 336

gradle入门_Gradle入门:简介

gradle入门 Gradle是一种构建工具,可以用基于Groovy编程语言的内部DSL替换基于XML的构建脚本。 最近它吸引了很多关注,这就是为什么我决定仔细研究一下。 这篇博客文章是我的Gradle教程的第一部分,它有两个目标: 帮助我们安装Gradle 描述它的一些基本概念,这有助于我们理解本教程的未来部分。 让我们从了解如何安装Gradle开始。 安装Grad...

最佳 Java 编程 169

Gradle入门初探

我们都创建过基于Maven的项目,maven可以很好的管理项目的依赖,编译和打包项目,Gradle是一个和Maven类似的自动化构建工具,Maven是基于xml文件格式,而Gradle是基于Groovy的语言,这使Groovy的构建脚本更加的灵活并且易于编写。在性能上,Gradle也引入了增量构建以及一些缓存机制,也要比maven构建速度更快,总之,Gradle的优点要比maven多,作为继maven之后的新一代的构建工具,如果我们要创建新的项目,不妨使用Gradle尝试下。

zhangyifang_009的博客 3181

Gradle快速入门学习

官网地址:Gradle 是一款Google 推出的基于 JVM、通用灵活的项目构建工具,支持 Maven,JCenter 等多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml 文件,转而使用简洁的、支持多种语言(例如:java、groovy 等)的 build 脚本文件。目前市面上常见的项目构建工具还有Ant、Maven。

huangjhai的博客 1510
上一篇: gradle介绍
下一篇: 初识C语言
小安雨
博客等级 码龄9年 21粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值