使用config.gradle统一管理项目的依赖

1.新建config.gradle(和项目的build.gradle同级)

2.接着开始配置config.gradle中的内容

//ext:添加额外的属性
//分两个部分来配置:android:目录下的项目的版本、包名、编译版本、等信息
//dependencies:目录下的android support库 我们自己引用的第三方库
ext {
    android = [
            compileSdkVersion                  : 27,
            buildToolsVersion                  : "26.0.2",
            minSdkVersion                      : 21,
            targetSdkVersion                   : 27,
            versionCode                        : 1,
            versionName                        : "1.0"
    ]
    version = [
            supportLibraryVersion: "27.1.1",
            butterknifeVersion   : "8.4.0",
            smartRefreshVersion  : "1.1.0-alpha-19",
            retrofitVersion      : "2.3.0",
    ]
    dependencies = [
            //base
            "appcompat-v7"                      : "com.android.support:appcompat-v7:${version["supportLibraryVersion"]}",
            "cardview-v7"                       : "com.android.support:cardview-v7:${version["supportLibraryVersion"]}",
            "design"                            : "com.android.support:design:${version["supportLibraryVersion"]}",
            "constraint-layout"                 : "com.android.support.constraint:constraint-layout:1.1.3",
            "support-v4"                        : "com.android.support:support-v4:${version["supportLibraryVersion"]}",


            //ui
            "SmartRefreshLayout"                : "com.scwang.smartrefresh:SmartRefreshLayout:${version["smartRefreshVersion"]}",
            "SmartRefreshHeader"                : "com.scwang.smartrefresh:SmartRefreshHeader:${version["smartRefreshVersion"]}",
            "banner"                            : "com.youth.banner:banner:1.4.10",


            //di
            "butterknife"                       : "com.jakewharton:butterknife:${version["butterknifeVersion"]}",
            "butterknife-compiler"              : "com.jakewharton:butterknife-compiler:${version["butterknifeVersion"]}",

            //ui test
            "espresso-core"                     : "com.android.support.test.espresso:espresso-core:3.0.2",

            //unit test
            "junit"                             : "junit:junit:4.12",
            "runner"                            : "com.android.support.test:runner:1.0.2",

            //netWork
            "retrofit"                          :"com.squareup.retrofit2:retrofit:${version["retrofitVersion"]}",
            "converter-gson"                    :"com.squareup.retrofit2:converter-gson:2.1.0",
            "adapter-rxjava2"                   :"com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0",


            //rx
            "rxjava"                            : "io.reactivex.rxjava2:rxjava:2.1.5",
            "rxandroid"                         : "io.reactivex.rxjava2:rxandroid:2.0.1",
            "rxbinding"                         : "com.jakewharton.rxbinding2:rxbinding:2.1.0",
            "rxpermissions"                     : "com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar",


    ]

}

3.在项目的build.gradle中引用

apply from: "config.gradle" //引用自己定义的config.gradle,这样使用config中的配置就可以管理所有module中的配置了.

4.在App目录下的build.gradle中使用

apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.butterknife'

android {
    compileSdkVersion rootProject.ext.android["compileSdkVersion"]
    buildToolsVersion rootProject.ext.android["buildToolsVersion"]
    defaultConfig {
        applicationId "com.example.wcystart.wanandroid"
        minSdkVersion rootProject.ext.android["minSdkVersion"]
        targetSdkVersion rootProject.ext.android["targetSdkVersion"]
        versionCode rootProject.ext.android["versionCode"]
        versionName rootProject.ext.android["versionName"]
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    //base
    implementation rootProject.ext.dependencies["appcompat-v7"]
    implementation rootProject.ext.dependencies["constraint-layout"]
    implementation rootProject.ext.dependencies["design"]
    implementation rootProject.ext.dependencies["cardview-v7"]
    implementation rootProject.ext.dependencies["support-v4"]


    //di
    implementation rootProject.ext.dependencies["butterknife"]
    annotationProcessor rootProject.ext.dependencies["butterknife-compiler"]

    //ui
    implementation rootProject.ext.dependencies["SmartRefreshLayout"]
    implementation rootProject.ext.dependencies["SmartRefreshHeader"]

    implementation rootProject.ext.dependencies["banner"]

    //Junit test
    testImplementation rootProject.ext.dependencies["junit"]

    // ui test
    androidTestImplementation rootProject.ext.dependencies["runner"]
    androidTestImplementation rootProject.ext.dependencies["espresso-core"]

    //network
    implementation rootProject.ext.dependencies["retrofit"]
    implementation rootProject.ext.dependencies["converter-gson"]
    implementation rootProject.ext.dependencies["adapter-rxjava2"]

    //rx
    implementation rootProject.ext.dependencies["rxjava"]
    implementation rootProject.ext.dependencies["rxandroid"]
    implementation rootProject.ext.dependencies["rxbinding"]
    implementation rootProject.ext.dependencies["rxpermissions"]
}

好了,这就是使用config.gradle统一管理项目的依赖的使用步骤!

猜你喜欢

转载自blog.csdn.net/qq_37982823/article/details/86737095