详解build.gradle文件

来源:互联网 发布:windows 查看共享目录 编辑:程序博客网 时间:2024/05/17 07:09

//应用了一个插件一般有两种可选值
// 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')
    * */
}