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