官方文档:http://tools.android.com/tech-docs/new-build-system/user-guide
为什么要用Gradle?
Gradle是比较先进的构建系统,也是一个很好的构建工具,允许通过插件自定义构建逻辑
以下是为什么Android Studio选择Gradle的主要原因:
· 使用领域专用语言(Domain Specific Language)来描述和处理构建逻辑。(以下简称DSL)
· 基于Groovy。DSL可以混合各种声明元素,用代码操控这些DSL元素达到逻辑自定义。
· 支持已有的Maven或者Ivy仓库基础建设
· 非常灵活,允许使用best practices,并不强制让你遵照它的原则来。
· 其它插件时可以暴露自己的DSL和API来让Gradle构建文件使用。
· 允许IDE集成,是很好的API工具
需要准备
Gradle 1.10 or1.11 with the plugin 0.9.0
SDK with BuildTools 19.0.0. Some features may require a more recent version
BasicProject
在Gradle项目的根目录下,有个build.gradle 文件,它描述了整个项目的构建基础
一个最基本的Android项目的gradle文件为
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath'com.android.tools.build:gradle:0.9.0'
}
}
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion"19.0.0"
}
它包含3个最主要的部分
· buildscript{...}配置了驱动build的代码,它声明将在Maven中央仓库,取一个classpath dependency,也就是Android plugin for Gradle v0.9.0
· apply plugin 指明了用到的plugin是android
· android{...} 中配置了所有android构建的参数,这里也就是Android DSL的入口点。
项目结构
一个基本的项目包含两个组件(sourcesets): main source code 和 testcode. 它们分别在以下两个目录中:
src/main/
src/instrumentTest/
这两个目录里面,又分别有各自的代码源文件和资源文件。
java/
resources/
对于Android plugin,又有以下额外的目录:
AndroidManifest.xml
res/
assets/
aidl/
rs/
jni/
配置项目结构
根据Gradle文档说明,可以通过以下两个方法来重新配置项目结构。
sourceSets { main { java { sr