//应用了一个插件一般有两种可选值
// a.com.android.application 应用程序模块
// b.com.android.library 库模块
apply plugin: 'com.android.application'
//一个大的闭包 配置项目构建的各种属性
android {
//指定项目编译版本 25 Android 7.1系统的sdk编译
compileSdkVersion 25
//指定项目构建工具的版本
buildToolsVersion "25.0.2"
//嵌套的一个defaultConfig 闭包 对项目更多细节进行配置
defaultConfig {
//指定项目包名
applicationId "com.example.sky.uibestpractice"
//指定项目最低兼容的Android系统版本 18 Android 4.3
minSdkVersion 18
//指定的值表示你在该目标版本上已充分测试
//系统将为你开启该指定版本下的最新功能和特性
targetSdkVersion 25
//指定项目版本号
versionCode 1
//指定项目版本名
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
/*指定生成安装文件的而相关配置 通常有两个闭包 debug release
*debug 闭包用于指定生成测试版安装文件的配置
*release 闭包用于指定生成正式版安装文件的配置
*debug 闭包可不写
*
* */
buildTypes {
release {
//指定是否对项目代码进行混淆 true 混淆 false不混淆
minifyEnabled false
//指定混淆使用的规则文件 两个文件
// proguard-android.txt 在Android sdk下 里面是所有项目通用混淆规则
// proguard-rules.pro在当前根目录文件下 里面是用于编写当前项目特有的混淆规则
//通过Android studio直接运行项目生成的都是测试版安装文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
/*
*指定当前项目所有依赖关系 Android studio 有三种依赖关系: 本地依赖 库依赖 远程依赖
*
* 本地依赖:可对呢滴jar包或目录添加依赖关系
* 库依赖: 可对项目中的库模块添加依赖关系
* 远程依赖: 可对jcenter库上的开源项目添加依赖关系
* 表示将libs目录下所有.jar后戳文件 添加到项目的构建路径中
* */
dependencies {
//声明一个本地依赖库 表示将libs目录下所有.jar后戳文件添加到项目构建路径中
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
//远程依赖声明 com.android.support:appcompat-v7:25.2.0 一个标准远程依赖库格式
// com.android.support是域名部分 appcompat-v7组名称 25.2.0版本号
//gradle 在构建项目时首先检查本地是否已经有这个库
// 没 自动联网下载 再添加到项目构建路径当中
compile 'com.android.support:appcompat-v7:25.2.0'
compile 'com.android.support:recyclerview-v7:25.2.0'
compile 'com.android.support.constraint:constraint-layout:1.0.1'
//声明测试用例库
testCompile 'junit:junit:4.12'
/*库依赖声明此时未用到
*格式 :compile project +依赖库名
* eg: 一库模块名 helper
* 添加库依赖: compile project(': helper')
* */
}