Why Gradle?(为什么使用gradle)
- Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。
- Gradle是一个优秀的构建系统和构建工具,它允许通过插件创建自定义的构建逻辑。
我们基于Gradle以下的一些特点而选择了它:- 采用了Domain Specific Language(DSL语言) 来描述和控制构建逻辑。
- 构建文件基于Groovy,并且允许通过混合声明DSL元素和使用代码来控制DSL元素以控制自定义的构建逻辑。
- 支持Maven或者Ivy的依赖管理。
- 非常灵活。允许使用最好的实现,但是不会强制实现的方式。
- 插件可以提供自己的DSL和API以供构建文件使用。
- 良好的API工具供IDE集成。
Goals of the new Build System(gradle构建系统的目标)
- 采用Gradle作为新构建系统的目标:
- 让重用代码和资源变得更加容易。(在不同源代码集之间重复使用代码和资源。)
- 让创建同一应用程序的不同版本变得更加容易,无论是多个apk发布版本还是同一个应用的不同定制版本。(使用相同的项目和模块为您的应用创建多个具有不同功能的 APK。)
- 让构建过程变得更加容易配置,扩展和定制。(自定义、配置和扩展构建流程。)
- 整合优秀的IDE
总而言之利用 Gradle 的灵活性,您可以在不修改应用核心源文件的情况下实现以上所有目的。 Android Studio 构建文件以 build.gradle 命名。 这些文件是纯文本文件,使用适用于 Gradle 的 Android 插件提供的元素以 Groovy 语法配置构建。 每个项目有一个用于整个项目的顶级构建文件,以及用于各模块的单独的模块层级构建文件。在导入现有项目时,Android Studio 会自动生成必要的构建文件。
Gradle介绍
Gradle是一个基于JVM的构建工具,它提供了:
- 像Ant一样,通用灵活的构建工具
- 可以切换的,基于约定的构建框架
- 强大的多工程构建支持
- 基于Apache Ivy的强大的依赖管理
- 支持maven, Ivy仓库
- 支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件。
- 对Ant的任务做了很好的集成
- 基于Groovy,build脚本使用Groovy编写
- 有广泛的领域模型支持构建
Gradle 概述
- 基于声明和基于约定的构建。
- 依赖型的编程语言。
- 可以结构化构建,易于维护和理解。
- 有高级的API允许你在构建执行的整个过程当中,对它的核心进行监视,或者是配置它的行为。
- 有良好的扩展性。有增量构建功能来克服性能瓶颈问题。
- 多项目构建的支持。
- 多种方式的依赖管理。
- 是第一个构建集成工具。集成了Ant, maven的功能。
- 易于移值。
- 脚本采用Groovy编写,易于维护。
- 通过Gradle Wrapper允许你在没有安装Gradle的机器上进行Gradle构建。
- 自由,开源。