Gradle构建-概念篇

2018-08-21  本文已影响16人  RoboyCore

什么是Gradle

简单的说,Gradle是一个构建工具,它是用来帮助我们构建app的,构建包括编译、打包等过程

Gradle使用的语言

Gradle构建使用的是Groovy语言,Groovy是一种基于JVM的动态语言,语法和Java很相似,Groovy完全兼容Java语言。它支持闭包,支持DSL(领域特定语言 Domain Specified Language)

1.Project与Task

在Gradle中,每一个待构建的工程是一个Project,构建一个Project需要执行一系列Task,比如编译、打包这些构建过程的子过程都对应着一个Task。具体来说,一个apk文件的构建包含以下Task:Java源码编译、资源文件编译、Lint检查、打包以生成最终的apk文件等等。

2. 插件

插件的核心工作有两个:一是定义Task;而是执行Task。也就是说,我们想让Gradle能正常工作,完成整个构建流程中的一系列Task的执行,必须导入合适的插件,这些插件中定义了构建Project中的一系列Task,并且负责执行相应的Task。

在新建工程的app模块的build.gradle文件的第一行,往往都是如下这句:

apply plugin: 'com.android.application'

这句话的意思就是应用“com.android.application“这个插件来构建app模块,app模块就是Gradle中的一个Project。也就是说,这个插件负责定义并执行Java源码编译、资源文件编译、打包等一系列Task。实际上"com.android.application"整个插件中定义了如下4个顶级任务:

assemble: 构建项目的输出(apk)

check: 进行校验工作

build: 执行assemble任务与check任务

clean: 清除项目的输出

当我们执行一个任务时,会自动执行它所依赖的任务。比如,执行assemble任务会执行assembleDebug任务和assembleRelease任务,这是因为一个Android项目至少要有debug和release这两个版本的输出。

上一篇下一篇

猜你喜欢

热点阅读