Android build.gradle详解
什么是gradle?
gradle是一个项目构建工具,java开发中有两个大名鼎鼎的项目构建Maven,Ant,其中maven简单易控深受开发者喜爱。
项目构建工具是什么?能干吗?
开发某些项目时,需要很多jar或者库的支持,还没开始开发就下载了n多个库,浪费了时间不说,这些库之间兼容性又无法保证。删了?白下载了。不删?又不兼容。此时就需要使用项目构建工具,简单的说就是一个可以根据简单的配置文件自动去下载相应包/库的软件。自动的还很简单,不用岂不亏了。多个项目构建工具各有特点,但是核心思想一样。
gradle的特色?
首先,goole推荐使用的Android开发工具中自带了Gradle可见其一定有过人之处。不同于Maven基于XML文件来完成配置,Gradle使用特定的语言(DSL)来声明配置,难度还行,但是简单方便。
下面是开发中的两个build.gradle文件
build.gradle(project MyFirst)
buildscript {
repositories {
jcenter()
//是一个类似于github的代码托管仓库,声明了此配置,
//可以轻松引用 jcenter上的开源项目
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
//gradle是一个强大的项目构建工具,不仅可以构建Android,还可以构建java,C++等
//此处引用android的插件
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
build.gradle(Module:app)
// 声明是Android程序,
//com.android.application 表示这是一个应用程序模块
//com.android.library 标识这是一个库模块
//而这区别:前者可以直接运行,后着是依附别的应用程序运行
apply plugin: 'com.android.application'
android {
// 编译SDK的版本
compileSdkVersion 21
// build tools的版本
buildToolsVersion "21.1.1"
defaultConfig {
// 应用的包名
applicationId "me.storm.ninegag"
//Android支持的最低版本
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0.0"
}
// java版本
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
//指定生成安装文件的相关配置
buildTypes {
release {
// 是否进行混淆
minifyEnabled false
// 混淆文件的位置
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
//proguard-android.txt 在Android SDK目录下,里面是所有项目的混淆规则
//proguard-rules.pro 是当前项目的根目录下的,里面可以编写特有的混淆规则
}
debug{ //测试版安装文件的配置(可以忽略)
}
}
// 移除lint检查的error
lintOptions {
abortOnError false
}
}
//依赖关系
//本地依赖:可以对本地Jar包或目录添加依赖关系
//库依赖:可以对项目中的库模块添加依赖关系
//远程以来:可以对 jcenter库上的开源项目添加依赖
//
dependencies {
// 编译libs目录下的所有jar包
compile fileTree(dir: 'libs', include: ['*.jar'])
//依赖声明,标识将libs目录下多有.jar后缀的文件都添加到项目的构建路径当中
compile 'com.android.support:support-v4:21.0.2'
//标准的远程以来格式 依次是 域名:组织名:版本号
compile 'com.etsy.android.grid:library:1.0.5'
compile 'com.alexvasilkov:foldable-layout:1.0.1'
// 编译extras目录下的ShimmerAndroid模块
compile project(':extras:ShimmerAndroid')
}

本文详细介绍了Gradle作为Android开发项目构建工具的核心功能及其配置文件build.gradle的使用方法。通过具体示例展示了如何利用Gradle管理依赖、设置编译选项及构建类型等。
1009

被折叠的 条评论
为什么被折叠?



