You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

维护Android库项目:如何通过Jitpack单独引入多个独立AAR模块?

当然可以!完全支持多模块独立引入

你完全可以在同一个Git仓库里维护多个相互独立的Android库模块,让其他项目在Gradle中按需单独引入任意一个模块。下面是具体的实现步骤和注意事项:

1. 调整项目结构,添加独立库模块

在现有项目中新增多个Android Library模块(比如lib-corelib-uilib-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,模块的groupversion可以和根项目保持一致,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

火山引擎 最新活动