AndroidStudio中多个Module统一管理版本号引用的配置

前言:

在我们项目开发中,经常会通过gradle依赖使用很多jar文件,但是当多个Module时,往往管理版本不方便,依赖的第三方版本不同,所以更新版本号时,要改好多地方。当引入Module过多时最好提供一种统一的方式去管理版本号,如:compileSdkVersion、buildToolsVersion等,方便日后对版本号进行维护工作。

step1:新建一个叫.gradle的文件

在项目根目录下新建一个叫config.gradle的文件(名字可以任意),如下图1:

图1

step2:在project中的build.gradle中添加

在根目录下的build.gradle文件中引入我们创建的配置文件,如下图2:

图2


step3:配置第三方依赖库

修改config.gradle依赖库版本号,如下图3所示:

图3


代码完整如下:

ext {

android = [

// 应用程序包名

applicationId : "com.dc.arcface",

// 用于编译的SDK版本

compileSdkVersion: 27,

// 用于Gradle编译项目的工具版本

buildToolsVersion: "27.0.3",

// 最低支持Android版本

minSdkVersion : 15,

// 目标版本

targetSdkVersion : 27,

versionCode : 1,

versionName : "1.0",

// 设置是否使用混淆

minifyEnabled : true,

minifyDisabled : false

]

dependVersion = [

support : "27.1.1",

junit : "4.12",

constraint : "1.0.2",

runner : "1.0.1",

espresso_core: "3.0.1",

okhttp3 : "3.10.0",

retrofit2 : "2.4.0"

]

dependencies = [

// ------------- Android -------------

supportV4 : "com.android.support:support-v4:${dependVersion.support}",

appcompatV7: "com.android.support:appcompat-v7:${dependVersion.support}",

constraint : "com.android.support.constraint:constraint-layout:${dependVersion.constraint}",

design : "com.android.support:design:${dependVersion.support}",

//------------- 测试 -------------

junit : "junit:junit:${dependVersion.junit}",

runner : "com.android.support.test:runner:${dependVersion.runner}",

espresso : "com.android.support.test.espresso:espresso-core:${dependVersion.espresso_core}",

// ------------- 网络请求 -------------

okhttp : "com.squareup.okhttp3:okhttp:${dependVersion.okhttp3}",

retrofit : "com.squareup.retrofit2:retrofit:${dependVersion.retrofit2}"

]

}

step4:在根目录下的build.gradle中引入

在app目录下的build.gradle中使用我们配置好的config.gradle文件中的版本号,如下图4:

图4

完整代码如下:

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

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

}

buildTypes {

release {

minifyEnabled rootProject.ext.android.minifyDisabled

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

}

dependencies {

implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation rootProject.ext.dependencies.appcompatV7

implementation rootProject.ext.dependencies.constraint

testImplementation rootProject.ext.dependencies.junit

androidTestImplementation rootProject.ext.dependencies.runner

androidTestImplementation rootProject.ext.dependencies.espresso

}


原文链接:https://www.jianshu.com/p/5f4782c8c35d

你可能感兴趣的:(AndroidStudio中多个Module统一管理版本号引用的配置)