维护Android库项目:如何通过Jitpack单独引入多个独立AAR模块?
当然可以!完全支持多模块独立引入
你完全可以在同一个Git仓库里维护多个相互独立的Android库模块,让其他项目在Gradle中按需单独引入任意一个模块。下面是具体的实现步骤和注意事项:
1. 调整项目结构,添加独立库模块
在现有项目中新增多个Android Library模块(比如lib-core、lib-ui、lib-network等),每个模块都是独立的com.android.library类型——它们之间可以完全独立,也可以按需互相依赖(比如lib-ui依赖lib-core)。
2. 配置Jitpack的构建支持
Jitpack本身就支持多模块项目的构建,大多数情况下不需要额外配置就能自动识别所有模块。如果你的项目有特殊构建需求,可以在项目根目录下创建jitpack.yml文件,指定基础构建配置,比如:
jdk: - openjdk17 install: - ./gradlew publishToMavenLocal
这个文件会告诉Jitpack用指定的JDK版本,并执行对应的构建命令来生成每个模块的Maven构件。
3. 其他项目引入单个模块的依赖格式
当你把代码推送到Git并打上版本标签(比如1.0.0)后,其他项目就可以单独引入某个模块了,依赖格式如下:
Groovy DSL
implementation "com.github.<你的GitHub用户名>:<仓库名称>:<版本号>:<模块名称>"
举个例子,如果你的用户名是Lemao1981,仓库名是MyAndroidLibs,要引入lib-ui模块,依赖就是:
implementation "com.github.Lemao1981:MyAndroidLibs:1.0.0:lib-ui"
Kotlin DSL
implementation("com.github.Lemao1981:MyAndroidLibs:1.0.0:lib-ui")
4. 关键注意事项
- 每个模块的
build.gradle(或build.gradle.kts)必须正确配置为Android库:确保plugins块中包含com.android.library,模块的group、version可以和根项目保持一致,Jitpack会以Git标签作为最终的版本号。 - 如果模块之间有依赖关系,比如
lib-ui依赖lib-core:- 如果你希望用户引入
lib-ui时自动包含lib-core,可以在lib-ui的依赖中使用api project(":lib-core"); - 如果希望用户手动选择是否引入
lib-core,则使用implementation project(":lib-core"),此时用户需要同时引入两个模块才能正常使用。
- 如果你希望用户引入
- 打版本标签时,要确保整个仓库的代码处于稳定状态,Jitpack会基于标签对应的代码快照构建所有模块的构件。
内容的提问来源于stack exchange,提问作者Lemao1981




