这篇文章只给出一个关于Gradle总体的认知,具体细节,请查看参考的文章
一、什么是构建工具
一个项目从代码到可运行文件(例如:Android 代码 到 apk),需要编译、link依赖库、链接资源、打包。这些操作也可以自己手动执行,但是使用自动化工具将会大大提高效率。
构建工具有很多:Ant、Maven、Gradle.
二、build.gradle
使用Gradle来构建项目,就必须有配置文件build.gradle,它来指明构建的一些需求。例如:源代码目录、资源目录、依赖等等。
DSL
DSL:领域特定语言(英语:domain-specific language、DSL)指的是专注于某个应用程序领域的计算机语言。又译作领域专用语言。
既然是配置文件,就需要代码,这类语言可以叫做DSL。SQL、正则表达式等也是DSL
Gradle的DSL语言有 Groovy DSL 和Kotlin DSL,使用这两种语言,灵活调用各语言插件的API,来完成项目构建
Gradle插件
由于每种语言的编译环境、配置、打包流程都不太一样,所以就需要每种语言都有对应的Gradle插件,来完成对应的任务。
各语言对应的插件:Gradle官方文档 中文文档
Android插件:Android Plugin for Gradle 的配置构建详解
发现很多博客,出现 Android DSL 的字眼。这种说法是错误的,DSL是一种语言。准确的表述是:在Android项目中使用 DSL语言(Groovy),调用Android Gradle插件,编写的build.gradle