为什么要进行gradle依赖统一管理?
当项目开始越来越大的时候,模块也越来越多的时候,这时候统一管理就显的非常必要,只需修改一个地方就可以了,减少不必要的工作量。而且,可以避免每个模块依赖不同的版本导致依赖冲突的情况。
1
首先我们在project下新建.gradle文件,可以叫“common_config.gradle”,然后将要统一管理的信息写到这个文件里。
ext {
android = [
compileSdkVersion: 27,
buildToolsVersion: "26.0.2",
applicationId : "com.lkp.modulesets",
minSdkVersion : 15,
targetSdkVersion : 27,
versionCode : 1,
versionName : "1.0.0"
]
dependencies = [
"constraint-layout" : 'com.android.support.constraint:constraint-layout:1.1.2',
"appcompat-v7" : 'com.android.support:appcompat-v7:27.1.1',
"design" : 'com.android.support:design:27.1.1',
"gson" : 'com.google.code.gson:gson:2.8.5',
"glide" : 'com.github.bumptech.glide:glide:4.8.0',
"glide-compiler" : 'com.github.bumptech.glide:compiler:4.8.0',
/**
* Libraries(Local)
*/
"threadpool" : project(':threadpool')
]
}
2
然后在Project的build.gradle中添加
apply from: "common_config.gradle"
3
然后在modle或者app中添加引用,如在app的引用
apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
defaultConfig {
applicationId rootProject.ext.android.applicationId
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
versionCode rootProject.ext.android.versionCode
versionName rootProject.ext.android.versionName
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation rootProject.ext.dependencies["constraint-layout"]
implementation rootProject.ext.dependencies["appcompat-v7"]
implementation rootProject.ext.dependencies["design"]
}