`
changhongbao
  • 浏览: 117311 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Gradle入门系列(1):简介

 
阅读更多

Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言。近期,Gradle获得了极大的关注,这也是我决定去研究Gradle的原因。

这篇文章是Gradle教程的第一篇,我们有两个目标:

  • 1. 帮助我们学会安装Gradle。
  • 2. 介绍一些基本概念,这有助于我们进一步理解本教程的后面章节。

我们开始吧,先看一下如何安装Gradle。

安装Gradle

如果我们使用的操作系统是Windows或Linux,我们可以根据以下步骤安装Gradle:
1. 从这个页面下载二进制文件。
2. 解压Zip文件,加入环境变量(在PATH中加入GRADLE_HOME/bin目录)。

如果在安装过程中遇到问题,可以进一步查看官方的安装指南
如果我们使用的操作系统是OS X,我们可以使用Homebrew安装Gradle,在命令提示符中输入以下命令:

1
brew install gradle

我们可以验证一下Gradle是否工作正常,在命令提示符中执行命令gradle -v即可,如果Gradle工作正常,我们应该能看到以下输出结果(当然,Windows和Linux用户看到的结果会有细微差异)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
> gradle -v
 
------------------------------------------------------------
Gradle 1.12
------------------------------------------------------------
 
Build time: 2014-04-29 09:24:31 UTC
Build number: none
Revision: a831fa866d46cbee94e61a09af15f9dd95987421
 
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
Ivy: 2.2.0
JVM: 1.8.0 (Oracle Corporation 25.0-b70)
OS: Mac OS X 10.9.3 x86_64

下面我们来快速浏览一下Gradle构建的基本概念。

Gradle构建简介

在Gradle中,有两个基本概念:项目任务。请看以下详解:

  • 项目是指我们的构建产物(比如Jar包)或实施产物(将应用程序部署到生产环境)。一个项目包含一个或多个任务。
  • 任务是指不可分的最小工作单元,执行构建工作(比如编译项目或执行测试)。

那么,这些概念和Gradle的构建又有什么联系呢?好,每一次Gradle的构建都包含一个或多个项目

下面这张图展示了上面所谈到的这些概念的关系。

我们能够使用以下配置文件对Gradle的构建进行配置:

  • Gradle构建脚本(build.gradle)指定了一个项目和它的任务。
  • Gradle属性文件(gradle.properties)用来配置构建属性。
  • Gradle设置文件(gradle.settings)对于只有一个项目的构建而言是可选的,如果我们的构建中包含多于一个项目,那么它就是必须的,因为它描述了哪一个项目参与构建。每一个多项目的构建都必须在项目结构的根目录中加入一个设置文件。

你可以在这篇文章中获得更多关于Gradle构建脚本的信息。

我们继续,下面我们看一下如果使用Gradle插件为构建工作加入新功能。

更简短的Gradle插件简介

Gradle的设计理念是,所有有用的特性都由Gradle插件提供,一个Gradle插件能够:

  • 在项目中添加新任务
  • 为新加入的任务提供默认配置,这个默认配置会在项目中注入新的约定(如源文件位置)。
  • 加入新的属性,可以覆盖插件的默认配置属性。
  • 为项目加入新的依赖。

Gradle用户手册提供了一系列标准Gradle插件

在我们为项目加入Gradle插件时,我们可以根据名称或类型来指定Gradle插件。

我们可以将下面这行代码加入到build.gradle文件中,它通过名称指定Gradle插件(这里的名称是foo):

1
apply plugin: 'foo'

另一方面,我们也可以通过类型指定Gradle插件,将下面这行代码加入到build.gradle文件中(这里的类型是com.bar.foo):

1
apply plugin: 'com.bar.foo'

你可以阅读这篇文章,掌握应用插件的更多信息。

今天就到这里,我们来总结一下我们所学的内容。

总结

这篇教程讲授了三部分内容:

  • 我们学会了如何安装Gradle
  • 我们理解了Gradle构建的一些基本知识
  • 我们了解了如何使用Gradle插件为我们的构建工作增加功能。

下一篇教程,我们会讨论如何使用Gradle创建一个简单的Java工程。

分享到:
评论

相关推荐

    Gradle入门系列(上)

    1.帮助我们学会安装Gradle。2.介绍一些基本概念,这有助于我们进一步理解本教程的后面章节。我们开始吧,先看一下如何安装Gradle。安装Gradle1.从这个页面下载二进制文件。2.解压Zip文件,加入环境变量(在PATH中...

    Gradle入门系列(下)

    Application插件是一种Gradle插件,让我们可以运行、安装应用程序并用非“fatjar”方式创建二进制发布版本。还记得我们在上篇教程中提到的一个例子吗?在它的build.gradle文件中做一些相应的更改,就可以进行二进制...

    Java之Gradle【IDEA版】入门到精通(下)(一篇文章精通系列)微服务实战项目代码

    Java之Gradle【IDEA版】入门到精通(下)(一篇文章精通系列)微服务实战项目代码,Java之Gradle【IDEA版】入门到精通(下)(一篇文章精通系列)微服务实战项目代码Java之Gradle【IDEA版】入门到精通(下)(一篇...

    Android Gradle 项目样例.zip

    同时,手册内容深入浅出,既适合新手入门,也能为老手提供有价值的参考。 二、项目实战与练习 为了让学习者能够将理论知识与实践相结合,我们特别准备了项目实战与练习部分。这部分内容包含了多个精心设计的...

    拥抱AndroidStudio(二):AndroidStudio与Gradle深入

    本文为“拥抱AndroidStudio”...考虑到传统教育方式的不足之处,笔者在组织本系列文章的时候是先讲入门实例,进而学习Gradle和Groovy基础原理,最后学习进阶实例。上篇文章介绍了从ADT迁移到AndroidStudio,相信经过很

    2024年IDEA新手使用教程:详解,让你轻松上手!

    内容涵盖IDEA的下载安装、创建新项目、编写和运行代码、使用版本控制、使用Maven或Gradle、配置数据库、调试代码、使用插件、使用Terminal、使用Live Templates、代码自动完成、代码重构、代码片段、性能监控、云端...

    JDA-Utilities:用于JDA的一系列工具和实用程序,以帮助机器人创建

    JDA-Utilities是与一起使用以协助机器人创建的一系列工具和实用程序。 配套 从JDA-Utilities 2.x开始,该库已拆分为多个模块化项目,以便根据开发人员可能要使用和不使用的内容更好地组织其内容。 访问各个模块以...

    ReactNative:原生流体滑块-JavaScript开发

    它允许您从一系列值中选择值::open_book:入门$ npm install react-native-fluidic-slider --save $ react-native链接react-native-fluidic-slider Android请在build.gradle buildscript中添加以下脚本{储存库{...

    java8看不到源码-spock-javaone:Spock上的JavaOne演示

    的一系列比较 入门 代码是使用 gradle 提供的。 因此,在克隆存储库后,只需键入: > ./gradlew test 或者 > gradlw.bat test 这将下载互联网...我的意思是下载和引导 gradle + 项目的所有依赖项,包括 spock。 设置...

    java8看不到源码-spock-javaone2014:javaone2014的代码和演示

    的一系列比较 入门 代码是使用 gradle 提供的。 因此,在克隆存储库后,只需键入: > ./gradlew test 或者 > gradlw.bat test 这将下载互联网...我的意思是下载和引导 gradle + 项目的所有依赖项,包括 spock。 设置...

    springboot170图书电子商务网站的设计与实现.zip

    "springboot170图书电子商务网站的设计与实现.zip" 是一个压缩文件,通常包含了一系列与使用Spring Boot框架设计和实现一个图书电子商务网站相关的资源。虽然我无法访问该压缩包的具体内容,但可以提供一个一般性的...

    DriveWireServer:DriveWire的服务器组件(注意,不包含UI)

    注意:如果您不打算构建DriveWireServer,而只想运行它,请跳至“开发先决条件为了构建DriveWire 4,需要以下软件: Java JVM> = 1.8( ) Gradle() GIT( )开发工具安装一系列循序渐进的示例,告诉您如何运行...

    initializr:Spring项目的快速入门生成器

    使用Apache Maven和Gradle的实现构建系统抽象。 .gitignore支持。 定制资源生成的几个挂钩点。 项目的各种选项以元数据模型表示,该模型使您可以配置依赖项列表,支持的JVM和平台版本等。 Spring Initializr还公开...

    android-samples:演示如何使用Android版Maps SDK的示例

    :一系列小演示,展示了Android Maps SDK的大多数功能。 :在Wear OS设备上显示地图。 此示例演示了基于gradle的Android Studio项目所需的基本设置。 :与开发人员指南中的教程相关的示例。 请参阅每个样本以获取...

    android-samples

    :一系列小型演示,展示了Google Maps Android API的大多数功能。 (这正式是Google Play服务SDK的一部分。) :在Wear OS设备上显示地图。 此示例演示了基于gradle的Android Studio项目所需的基本设置。 :与...

    java8源码-Blog:个人博客,知识积累!

    专题系列 Java基础 多线程与并发编程 算法数据结构 SpringCloud Zookeeper Dubbo NoSQL MongoDB MQ ActiveMQ RabbitMQ RocketMQ Kafka 分布式事务 Tomcat Docker MySQL Jenkins Maven Gradle Git Swagger Linux 读书...

    阿里巴巴面试题leetcode-JAVA-wiki::face_blowing_a_kiss::beaming_face_with_smiling_eyes:JAVA程序员提高篇,pdf手册集合:collision:

    系列课程总结) Axure RP 指南 - v1.1.pdf Docker —— 从入门到实践 - v1.0 Git 教程 - v1.0.pdf (感觉 也挺好可以查看) GitHub 使用手册 - 基础篇 Gradle 实战中文版 - v1.0 Hibernate 教程 - v1.0.pdf IntelliJ ...

    workmanager-imageblur:了解WorkManager

    在2018年I / O大会上,谷歌发布了 ,这是一系列库,工具和体系结构指南的集合,旨在加速和简化出色的Android应用程序的开发。 这些库之一是。 WorkManager库为需要保证执行的一次性或重复性后台任务提供了统一的API...

    android-workmanager:适用于WorkManager的Android代码实验室

    android-workmanagerWorkManager Codelab 该存储库包含的代码:介绍在2018年I / O大会上,谷歌发布了 ,这是一系列库,工具和体系结构指南的集合,旨在加速和简化出色的Android应用程序的开发。 这些库之一是。 ...

Global site tag (gtag.js) - Google Analytics