前言     

           当我们在Android Studio开发工具中创建一个新的工程项目时,Gradle会帮我们自动生成两个build.gradle配置文件,一个是项目主配置一个app的配置,为什么我们要自定义Gradle配置文件呢?想象一个场景,你的主Model app对应一个build.gradle配置文件,那么如果你有N个副Model那岂不是要对应N个build.gradle配置文件?由此可见我们需要自己定义一个配置文件用来管理,这样的好处有那些呢?1、统一性  2、便于管理 3、版本管理一致,操作如下。

          打开Android Studio开发工具,选中你的工程项目文件 --->右键鼠--->新建--->文件--->新建一个config.gradle配置文件【Ps:当然这个文件名字你随便起,但是后缀一定是 .gradle 】


android gradle 以 yaml 文件作配置文件 gradle项目配置_gradle

操作步骤一

 


android gradle 以 yaml 文件作配置文件 gradle项目配置_自定义_02

操作步骤二

             在config.gradle配置文件中你就可以自定义配置项,比如我这里把app目录下的build.gradle文件中的android配置,defaultConfig配置,dependencies配置通过我们自定义的config.gradle配置文件重新引入到build.gradle文件中。


android gradle 以 yaml 文件作配置文件 gradle项目配置_gradle_03

app目录下的build.gradle文件

 

                首先打开config.gradle配置文件,在里面写上如下代码 ext代表范围 里面你可以写上多个配置项,现在我们把app目录下的build.gradle文件中对应的android配置给拷贝过来

ext{
    //Android配置
    android = [

    


]

  // 依赖配置
    dependencies = [



]
}
---------------------------------app目录下的build.gradle源配置文件-------------------

android {   // 抽取

    compileSdkVersion 29          // 抽取
    buildToolsVersion "29.0.3"    // 抽取

    defaultConfig {   // 抽取
        applicationId "com.mg.demo"  // 抽取
        minSdkVersion 16         // 抽取
        targetSdkVersion 29     // 抽取
        versionCode 1          // 抽取
        versionName "1.0"     // 抽取

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }


dependencies {     // 抽取
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'    // 抽取
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}


----------------------修改后config.gradle配置文件-----------------------------------

ext{
    // Android 配置
    android = [
            //名称您可以随便起但要有意义哦
            compileSdkVersion:29,
            buildToolsVersion:"29.0.3",
            applicationId:"com.mg.demo",
            minSdkVersion:16,
            targetSdkVersion:29,
            versionCode:1,
            versionName:"1.0",
            testInstrumentationRunner:"androidx.test.runner.AndroidJUnitRunner",
    ]
    //依赖配置
    dependencies = [
        //名称您可以随便起但要有意义哦
            "appcompat":'com.android.support:appcompat-v7:28.0.0',
    ]
}

        这样我们就把app目录下的build.gradle文件中部分配置项就抽取出来,然后放在自定义的config.gradle配置文件中,那么接下来就是该如何引入自定义配置文件了,很简单,打开你项目工程下的build.gradle配置文件,在里面写上如下这样一句代码


android gradle 以 yaml 文件作配置文件 gradle项目配置_配置文件_04

项目工程下的build.gradle配置文件

//引入自定义gradle配置文件
apply from:"config.gradle"


android gradle 以 yaml 文件作配置文件 gradle项目配置_自定义_05

项目工程下的build.gradle配置文件

             接着打开你项目app目录下的build.gradle配置文件,然后通过 rootProject.ext.xxx.xxxx 引入


android gradle 以 yaml 文件作配置文件 gradle项目配置_配置文件_06

android配置引入

          


android gradle 以 yaml 文件作配置文件 gradle项目配置_android_07

依赖引入