Android buildSrc

在实际开发中,由于业务量巨大,可能会将业务拆分为若干个独立模块,在这其中,就会存在编译版本、版本号以及依赖的第三方库难以管理或者不同开发者使用库的版本号不一致导致整个项目产生编译冲突等问题。

起初 Google 官方推荐使用 ext 变量来管理各类版本号,这种方式的缺点是编辑器无法自动提示和跳转,buildSrc 正好能解决这个问题,且易于扩展和维护。

新建项目,选择 Empty Activity(不是 Empty Compose Activity,默认依赖项会不同)。

首先,在项目根路径下创建 buildSrc 文件夹并创建 build.gradle.kts 文件,添加代码:

build.gradle.kts
1
2
3
4
5
6
7
plugins {
`kotlin-dsl`
}

repositories {
mavenCentral()
}

然后在 buildSrc 下创建 src/main/java 目录并在此目录下创建一个 kt 文件,名称任意,此文件中可创建多个 object 来管理信息,这里创建 Versions 和 Libs 分别管理版本号信息和依赖库:

Dependencies.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
// 版本号管理
object Versions{
const val compileSdkVersion = 32
const val minSdkVersion = 23
const val targetVersion = 32
...
}

// 三方库管理
object Libs{
const val retrofit = "com.squareup.retrofit2:retrofit:${Versions.retrofit_version}"
...
}

接下来将每个业务模块下的相关版本号修改为引用 Versions 中的版本号,以 app 模块为例:

build.gradle(:app)
1
2
3
4
5
6
7
8
9
10
android {
compileSdk Versions.compileSdkVersion
defaultConfig {
applicationId "com.example.travelprevention"
minSdk Versions.minSdkVersion
targetSdk Versions.targetVersion
...
}
...
}

模块如果需要引入依赖库:

1
2
3
4
5
dependencies {
implementation Libs.retrofit
implementation Libs.coil
...
}

备注

欢迎关注微信公众号:非也缘也