Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。
下面就以的导入Volley导入模块来详细讲解下和Gradle相关的知识, 和Gradle相关的几个文件一般有如下几个:
1. /app/build.gradle
这个文件是app文件夹下这个Module的gradle配置文件,也可以算是整个项目最主要的gradle配置文件,我们来看下这个文件的内容:
apply plugin: 'com.android.application' android {
compileSdkVersion 23 //编译SDK的版本
buildToolsVersion "23.0.2" //build tools的版本
defaultConfig {
applicationId "com.h5flash.vollerydemo" //应用的包名
minSdkVersion 9
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes { release {
minifyEnabled false //是否进行混淆
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //混淆文件的位置
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar']) //编译libs目录下的所有jar包
compile 'com.android.support:appcompat-v7:23.1.0'
compile project(':Volley') //编译Volley模块
}
2. /Volley/build.gradle
configurations.create("default")
artifacts.add("default", file('Volley.jar'))
3. /build.gradle
这个文件是整个项目的gradle基础配置文件,我们来看看这里面的内容
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
}
}
allprojects {
repositories {
jcenter()
}
}
内容主要包含了两个方面:一个是声明仓库的源,这里可以看到是指明的jcenter(), jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。另一个是声明了android gradle plugin的版本,android studio 1.0正式版必须要求支持gradle plugin 1.0的版本。
4. /settings.gradle
这个文件是全局的项目配置文件,里面主要声明一些需要加入gradle的module,我们来看看该文件的内容:
include ':app', ':Volley'
文件中的 app, :Volley 都是module,如果还有其他module都需要按照如上格式加进去。