Android BOM 聚合依赖
系统 环境 :Mac
Android 版本:Android Studio Narwhal | 2025.1.1 Patch 1
Gradle 版本 8.7
1
2
3
4
5
plugins {
id 'com.android.application' version '8.6.0' apply false
id 'com.android.library' version '8.6.0' apply false
id 'org.jetbrains.kotlin.android' version '2.1.0' apply false
}
File → New → New Module… → Android Library 删除该 module 下所有文件,仅保留 build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
plugins {
id 'java-platform'
id 'maven-publish'
}
// BOM 的 GAV (GroupId, ArtifactId, Version)
group = "com.snote.bom"
version = "2025.09.08-SNAPSHOT" // BOM 的版本号
javaPlatform {
// 允许这个平台(BOM)不声明任何直接的依赖项
allowDependencies()
}
// 这是定义 BOM 内容的地方
dependencies {
// 使用 constraints 来定义版本约束
constraints {
// api 表示这些约束会被发布到 POM 文件的 <dependencyManagement> 中
// 你可以加入一些你希望统一的第三方库
api "com.squareup.okhttp3:okhttp:4.12.0"
api "com.google.code.gson:gson:2.10.1"
}
}
// 配置发布任务
publishing {
publications {
javaPlatform(MavenPublication) {
artifactId = 'snote-bom'
from components.javaPlatform
}
}
repositories {
maven {
name = 'Nexus' // (可选)
url = uri(project.findProperty("NEXUS_UPLOADE_URL"))
credentials {
username = project.findProperty("NEXUS_UPLOADE_USERNAME")
password = project.findProperty("NEXUS_UPLOADE_PASSWORD")
}
}
}
}
在gradle.properties文件中配置 ```groovy NEXUS_UPLOADE_URL=https://maven.snotex.xxx/nexus/repository/ NEXUS_UPLOADE_USERNAME=user_name NEXUS_UPLOADE_PASSWORD=password
本文由作者按照 CC BY 4.0 进行授权