什么是Gradle?
Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。
Gradle可以自动化地进行软件构建、测试、发布、部署、软件打包。
安装Gradle
Android Studio 新建项目成功后会下载Gradle(有可能需要*)
windows平台会默认下载到“C:\Users\<用户名>\.gradle\wrapper\dists”目录,你会在这个目录下看到不同版本的gradle文件夹(如果下载太慢,但是又不想*的话,可以自己手动到Gradle官网http://www.gradle.org/downloads下载对应的版本,然后将下载的.zip文件(也可以解压)复制到gradle-x.xx-all 文件夹下)
Gradle 基本概念
/Application/build.gradle
这个文件是Application文件夹下这个Module的gradle配置文件
// 声明是Android程序
//如果是类库module则写成 apply plugin: ‘com.android.library’
apply plugin: 'com.android.application' android {
// 编译SDK的版本
compileSdkVersion
// build tools的版本
buildToolsVersion "21.1.1" defaultConfig {
// 应用的包名
applicationId "com.example.android.system.runtimepermissions"
minSdkVersion
targetSdkVersion
versionCode
versionName "1.0.0"
} // java版本
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
} buildTypes {
debug {
// debug模式
} release {
// 是否进行混淆
minifyEnabled false
// 混淆文件的位置,前一部分代表系统默认的android程序的混淆文件,后一部分是我们项目里的自定义的混淆文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
} // 移除lint检查的error
lintOptions {
abortOnError false
}
} dependencies {
// 编译libs目录下的所有jar包
compile fileTree(dir: 'libs', include: ['*.jar'])
compile "com.android.support:support-v4:23.1.0"
compile "com.android.support:support-v13:23.1.0"
compile "com.android.support:cardview-v7:23.1.0"
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.android.support:support-v4:23.0.0'
compile 'com.android.support:design:23.0.0'
// 编译mylib目录下的DeviceAPI模块
compile project(':mylib:DeviceAPI')
}
/gradle/wrapper/gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-.-all.zip
这里声明了gradle的目录与下载路径以及当前项目使用的gradle版本
/build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
} allprojects {
repositories {
jcenter()
}
}
这个文件是整个项目的gradle基础配置文件,内容主要包含了两个方面:一个是声明仓库的源jcenter(),另一个是声明了android gradle plugin的版本gradle:1.0.0
/settings.gradle
include ':API', ':testapplication',':App'
这个文件是全局的项目配置文件,里面主要声明一些需要加入gradle的module