Android依赖版本统一管理
前言
在Android的实际开发中,我们会经常使用到多Module开发,而当我们修改一些版本信息或者SDK升级时,可能涉及多个Module都需要修改。
显然逐个修改Module中的build.gradle文件是非常繁杂而且容易出错的一件事情,基于此种
情况,我们需要对整个工程中的配置和依赖进行统一管理。
一、建立单独config.gradle文件统一配置
我们可以在项目根目录下建立config.gradle
文件,然后在项目的build.gradle
文件中中引入:
apply from:"config.gradle"
buildscript {
...
}
BuildConfig管理
首先是对BuildConfig的管理,如buildToolsVersion,targetSdkVersion等基本的config信息。
config.gradle文件中添加:
ext {
android = [
sourceCompatibilityVersion: JavaVersion.VERSION_1_8,
targetCompatibilityVersion: JavaVersion.VERSION_1_8,
minSdkVersion : 21,
targetSdkVersion : 28,
compileSdkVersion : 30,
buildToolsVersion : "28.0.3",
versionCode : 1,
versionName : "1.0.0"
]
}
然后在Module里的build.gradle
文件中可以使用上述参数:
compileSdkVersion rootProject.ext.android["compileSdkVersion"]
buildToolsVersion rootProject.ext.android["buildToolsVersion"]
defaultConfig {
applicationId "com.example.demowork1"
minSdkVersion rootProject.ext.android["minSdkVersion"]
targetSdkVersion rootProject.ext.android["targetSdkVersion"]
versionCode rootProject.ext.android["versionCode"]
versionName rootProject.ext.android["versionName"]
...
}
三、依赖管理
我们在多个Module中可以存在一些相同的依赖,如果我们对这些依赖升级,则需要多个Module配置都更改,容易疏漏。因此对依赖进行统一管理是十分有必要的,我们同样可以使用config.gradle
文件实现依赖管理。
在config.gradle
文件中添加各个依赖的版本及库名称,使用versions统一管理依赖的版本,dependencies统一管理引入的依赖,详细代码如下:
versions = [
// androidx libs
appCompatVersion : "1.0.2",
recyclerViewVersion : "1.2.0",
constraintLayoutVersion : "2.0.4",
materialVersion : "1.2.1"
]
dependencies = [
// androidx libs
appcompat : "androidx.appcompat:appcompat:${versions.appCompatVersion}",
recyclerView : "androidx.recyclerview:recyclerview:${versions.recyclerViewVersion}",
constraintLayout : "androidx.constraintlayout:constraintlayout:${versions.constraintLayoutVersion}",
material : "com.谷歌.android.material:material:${versions.materialVersion}"
]
完成在config中的配置后,我们就可以在Module的build.gradle
中引用上述的依赖配置:
dependencies {
implementation rootProject.ext.dependencies.appcompat
implementation rootProject.ext.dependencies.okhttp
implementation rootProject.ext.dependencies.recyclerView
implementation rootProject.ext.dependencies.constraintLayout
implementation rootProject.ext.dependencies.material
}
我们的config.build是在根目录下,所有Module中都可以引入对应的依赖,这样在升级SDK时直接更新config中的配置即可,达到一个统一管理的效果。
总结
通过自定义config.build文件可以实现依赖的统一管理,对于组件化开发的工程提供维护便利。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfgejh
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01