Gradle简介
Gradle以module来管理project,在Gradle构建的project中通常包含application module(com.android.application),与library module(com.android.library)两种module。在Gradle的project中需要使用,基本上全都使用.gradle文件来配置,是一个脚本化的工程构建,而非原先ADT中那种eclipse 的可视化构建。gradle的依赖管理能力极其强大,几乎所有的开源项目都可以简单的通过一条compile指令完成依赖的配置。
Gradle语法
一个简单的build.gradle:
buildscript { //是设置脚本的运行环境
repositories { // 依赖库管理(maven/ivy),用于项目的依赖
mavenCentral()
}
dependencies { //依赖包的定义, 支持maven/ivy,远程,本地库,也支持单文件
classpath 'com.android.tools.build:gradle:0.4' //编译来自Jcenter的第三方开源库
compile project(':Easylink') //编译附加的项目
compile fileTree(dir: 'libs', include: ['*.jar']) //编译lib目录下的.jar文件
}
}
apply plugin: 'android' //声明构建的项目类型
android { //设置编译android项目的参数,构建android项目的所有配置都在这里完成
compileSdkVersion 17
defaultConfig {//默认配置
6 applicationId "com.nd.famlink"//应用程序的包名
7 minSdkVersion 8//支持的最低版本
8 targetSdkVersion 19//支持的目标版本
9 versionCode 52//版本号
10 versionName "3.0.1"//版本名
11 }
sourceSets {//目录指向配置
13 main {
14 manifest.srcFile 'AndroidManifest.xml'//指定AndroidManifest文件
15 java.srcDirs = ['src']//指定source目录
16 resources.srcDirs = ['src']//指定source目录
17 aidl.srcDirs = ['src']//指定source目录
18 renderscript.srcDirs = ['src']//指定source目录
19 res.srcDirs = ['res']//指定资源目录
20 assets.srcDirs = ['assets']//指定assets目录
21 jniLibs.srcDirs = ['libs']//指定lib库目录
22 }
23 debug.setRoot('build-types/debug')//指定debug模式的路径
24 release.setRoot('build-types/release')//指定release模式的路径
25 }
buildTypes {//build类型
41 release {//发布
42 minifyEnabled true//混淆开启
43 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'//指定混淆规则文件
44 signingConfig signingConfigs.release//设置签名信息
45 }
46 debug {//调试
47 signingConfig signingConfigs.release
48 }
49 }
}