在项目开发中我们会经常引入多个Module,然而每个Module中又包含了V4、V7,为了升级新版本依赖包只用更改一次,我们决定采用Gradle依赖的统一管理,避免重复繁琐的劳动。

在Project目录下新建config.gradle文件(文件名字可以自定义)

ext {    android = [            compileSdkVersion: 26,            buildToolsVersion: "26.0.2",            applicationId    : "com.wj.baseutils",            minSdkVersion    : 15,            targetSdkVersion : 26,            versionCode      : 1,            versionName      : "1.0.0"    ]    def dependVersion = [            support    : "26.1.0",            butterknife: "8.8.1",            glide      : "4.5.0",    ]    dependencies = [            //base            "support-v4"          : "com.android.support:support-v4:${dependVersion.support}",            "appcompat-v7"        : "com.android.support:appcompat-v7:${dependVersion.support}",            "annotations"         : "com.android.support:support-annotations:${dependVersion.support}",            "constraint-layout"   : "com.android.support.constraint:constraint-layout:1.0.2",            //test            "junit"               : "junit:junit:4.12",            "runner"              : "com.android.support.test:runner:1.0.1",            "espresso-core"       : "com.android.support.test.espresso:espresso-core:3.0.1",            //eventbus            "eventbus"            : "org.greenrobot:eventbus:3.1.1",            //butterknife            "butterknife"         : "com.jakewharton:butterknife:${dependVersion.butterknife}",            "butterknife-compiler": "com.jakewharton:butterknife-compiler:${dependVersion.butterknife}",            //Glide            "glide"               : "com.github.bumptech.glide:glide:${dependVersion.glide}",            "glide-compiler"      : "com.github.bumptech.glide:compiler:${dependVersion.glide}"    ]}

然后在Project的build.gradle中添加

apply from: "config.gradle"

在modle或者app中添加引用

apply plugin: 'com.android.library'android {    compileSdkVersion rootProject.ext.android.compileSdkVersion    defaultConfig {        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'])    implementation rootProject.ext.dependencies["constraint-layout"]    //test    testImplementation rootProject.ext.dependencies["junit"]    androidTestImplementation rootProject.ext.dependencies["runner"]    androidTestImplementation rootProject.ext.dependencies["espresso-core"]    //support    api(rootProject.ext.dependencies["support-v4"]) {        exclude module: 'support-annotations'    }    api(rootProject.ext.dependencies["appcompat-v7"]) {        exclude module: 'support-v4'    }    api rootProject.ext.dependencies["annotations"]    //eventbus    api rootProject.ext.dependencies["eventbus"]    //butterknife    api(rootProject.ext.dependencies["butterknife"]) {        exclude module: 'support-annotations'    }    annotationProcessor rootProject.ext.dependencies["butterknife-compiler"]    //glide    api(rootProject.ext.dependencies["glide"]) {        exclude module: 'support-fragment'    }    annotationProcessor(rootProject.ext.dependencies["glide-compiler"]) {        exclude module: 'jsr305'    }}

更多相关文章

  1. Android(安卓)文件夹介绍
  2. Android(安卓)Studio的一些小技巧
  3. Unable to resolve dependency for ......
  4. 关于Android(安卓)的导入android.support.v4包解决ContextCompat
  5. Android-NDK入门续
  6. 关于ScrollView嵌套RecyclerView时RecyclerView不显示的问题
  7. Unity与Android的问题
  8. android studio使用教程(六) project和module gradle脚本查看
  9. 用桌面做应用的背景

随机推荐

  1. Android中使用xml保存数据(xml文件序列化
  2. .NET跨平台开发之Xamarin.Android介绍与
  3. windows 下 android 使用ant自动打包
  4. Android总结篇系列:Android广播机制----学
  5. Android JNI中记录log
  6. Android:删除预装应用
  7. android 决TextView中MaxLines与ellipsiz
  8. 解决国内android sdk无法更新,google不能
  9. A010-menu资源
  10. android 多语言的实现