Android app 由Gradle负责构建。Gradle构建系统定义了许多概念。
1.Project和Tasks
这个Gradle中最重要的两个概念。每次构建(build)至少由一个project构成,一个project 由一到多个task构成。项目结构中的每个build.gradle
文件代表一个project,在这编译脚本文件中可以定义一系列的task;task 本质上又是由一组被顺序执行的Action`对象构成,Action其实是一段代码块,类似于Java中的方法。
2.构建生命周期
每次构建的执行本质上执行一系列的Task
。某些Task可能依赖其他Task。哪些没有依赖的Task总会被最先执行,而且每个Task只会被执行一遍。每次构建的依赖关系是在构建的配置阶段确定的。每次构建分为3个阶段:
- Initialization: 初始化阶段 ;这是创建Project阶段,构建工具根据每个build.gradle文件创建出一个Project实例。
- Configuration:配置阶段;这个阶段,通过执行构建脚本来为每个project创建并配置Task。
- Execution:执行阶段;这是Task真正被执行的阶段,Gradle会根据依赖关系决定哪些Task需要被执行,以及执行的先后顺序。
3.构建配置文件
为了能够在Android项目中使用Gradle构建项目,我们需要在顶层目录新建build.gradle
配置文件,用来配置构建脚本相关属性。基本内容如下:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
除此之外,顶层的配置文件中还可以用来配置android项目各个模块的通用属性。配置内容放置在allprojects代码块中。如下所示:
allprojects {
repositories {
jcenter()
}
//其他配置
}
同时,每个模块有自己的单独的配置文件,内容结构大致如下:
//表示该模块为应用模块,类似的有library模块
apply plugin: 'com.android.application'
//针对android 属性的一些配置
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId