一、需求
当我们有多个Model的时候,多个Model就需要统一使用配置Gradle配置文件,一个个写,就显得过于麻烦,而且容易出错,这时候我们就需要一个统一的配置文件,每个Model都引用这个统一的文件就可以了。修改的时候,也只需要需改一个Gradle文件。
二、好处
1.统一性
2.便于管理
3.版本管理
三、具体实现
1.新建文件
在project下是目录新建一个config.gradle文件
写好的代码是这样的
ext{
//Android 配置
android = [
compileSdkVersion: 29,
buildToolsVersion: "29.0.2",
applicationId: "com.lanjiabin.Test1",
minSdkVersion: 14,
targetSdkVersion: 29,
versionCode: 1,
versionName: "1.0"
]
//依赖配置
dependencies = [
"appcompat": 'androidx.appcompat:appcompat:1.0.2'
]
}
具体的文件截图
2.引用自定义配置
先在build.gradle文件中引入config.gradle
然后就在app的build.gradle中使用自定义的config.gradle
具体代码:
apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.android['compileSdkVersion']
buildToolsVersion rootProject.ext.android['buildToolsVersion']
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']
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation rootProject.ext.dependencies['appcompat']
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}
然后再同步一次,就发现和原来的效果是一样的,但是得到了开文说的那些好处。修改一个统一的配置文件,就可以实现了修改所有的Model了。