Gradle 概述

简介:

Gradle 是一个开源的构建自动化(build automation)工具。有关构建自动化的定义请参考:https://en.wikipedia.org/wiki/Build_automation。同时 Gradle 被设计得足够灵活可以被用来构建几乎任何类型的软件。

下面的一些特性是从宏观上来对 Gradle 的一些特性进行阐述:

高性能

Gradle 通过运行需要运行的任务来避免不必要的工作。因为输入和输出可能会改变。你还可以通过启用构建缓存来让上一次构建运行的状态可以被重用,甚至你可以在不同的机器上这样做(通过共享构建缓存)。

同时 Gradle 还有很多优化的实践,Gradle 开发小组坚持开发使用来提高 Gradle 的性能。

基于 JVM

Gradle 是运行在 JVM 虚拟机上的,所以你的机器必须要安装 JDK。针对使用 Java 平台的用户来说,这会带来非常大的好处,这些用户可以在他们的构建(build)逻辑中使用标准的 Java API。包括使用自定义任务类型和插件。同时也能够让 Gradle 更加容易的在其他平台上运行。

请注意,Gradle 并不仅仅限制于构建 JVM 项目,甚至被打包用来支持构建原生项目。

可转换

针对 Java 项目,Gradle 去掉了 Maven 的很多繁琐功能,能够更加容易的实现 Maven 的转换。通过引用合适正确的插件,你可以为你的项目减轻构建脚本的复杂性。

但是这些转换并不是为了局限你的使用:Gradle 运行你对它们进行重载(override),添加你的自定义任务,为你基于转换的项目提供更多的自定义功能。

可扩展

你可通过提供你自己的任务类型或者构建模型来对 Gradle 进行扩展。请参考针对 Android 的构建支持为样本的示范:可能会添加一些新的构建概念,例如 flavors 和 build types。

支持 IDE

一些主流的 IDE 都能够允许你导入 Gradle 的构建同时能够对其进行转换:Android Studio, IntelliJ IDEA, Eclipse 和 NetBeans。同时 Gradle 也能够支持创建导入Visual Studio 项目需要的 solution 文件。

自扫描和修复

构建扫描(Build scans)提供了一个帮助你识别构建错误和问题的扩展工具。同时这个工具也能够更好的帮助你识别和找到可能存在的构建性能问题。

你也可以和其他的用户分享你的构建扫描,这个分享功能在你希望获得其他开发人员帮助的时候就非常有用和高效。

https://www.cwiki.us/display/GradleZH/What+is+Gradle

目录
相关文章
|
XML Java Maven
《gradle 用户指南》中文版 第2章 概述
第2章 概述 目录 2.1、功能特性2.2、为什么选择Groovy? 2.1、功能特性Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具,它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
1527 0
|
6月前
|
SQL 人工智能 移动开发
Android Studio插件版本与Gradle 版本对应关系
Android Studio插件版本与Gradle 版本对应关系
Android Studio插件版本与Gradle 版本对应关系
|
7月前
|
存储 Java Android开发
Android 开发 - 充分利用Gradle
Android 开发 - 充分利用Gradle
112 2
|
缓存 Android开发
Android Studio中如何清理gradle缓存
Android Studio中如何清理gradle缓存
|
Android开发
Android Studio中修改gradle插件版本和Gradle版本
Android项目中,我们一般要设置gradle插件版本和gradle版本。 项目根目录下的build.gradle文件中,通过classpath可以指定gradle插件的版本。
|
Java Android开发
Android如何通过Gradle发布Android依赖库(aar)到 jitpack 公共仓库
Android如何通过Gradle发布Android依赖库(aar)到 jitpack 公共仓库
483 0
|
4月前
|
开发工具 Android开发 开发者
Android 项目编译 Gradle 配置说明
Android 项目编译 Gradle 配置说明
144 0
|
5月前
|
Java Maven Android开发
android之gradle配置仓库与引入依赖
android之gradle配置仓库与引入依赖
231 0
|
7月前
|
Java 开发工具 Maven
Android 编译 gradle 内存 OOM 解决之路(二)
Android 编译 gradle 内存 OOM 解决之路
|
7月前
|
Java Android开发
Android 编译 gradle 内存 OOM 解决之路(一)
Android 编译 gradle 内存 OOM 解决之路