You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多个Android库模块合并为单个Maven依赖包发布?

该需求完全可以实现,你只需要新增一个无业务代码的聚合模块,利用Maven的依赖传递特性即可达成效果,操作步骤如下:

步骤1:新建聚合模块

在项目中新增一个空的Android Library模块,命名为android-sdk即可,不需要编写任何业务逻辑代码。

步骤2:配置聚合模块依赖

打开android-sdk模块的build.gradle文件,添加三个现有库模块的依赖声明,注意要使用api关键字保证依赖可以向上传递:

api project(':core')
api project(':feature1')
api project(':feature2')

步骤3:配置聚合模块的发布参数

在android-sdk模块根目录下新建gradle.properties文件,参考现有子模块的发布配置修改即可,仅需要调整和模块标识相关的参数:

GROUP=com.example.sdk 
POM_ARTIFACT_ID=android-sdk
VERSION_NAME=1.0.2 

POM_NAME=android-sdk 
POM_PACKAGING=aar 

POM_DESCRIPTION=All-in-one Android SDK package
POM_INCEPTION_YEAR=2021 

POM_URL=GITHUB_URL 
POM_SCM_URL= GITHUB_URL 
POM_SCM_CONNECTION= GITHUB_URL.git 
POM_SCM_DEV_CONNECTION=scm:git@GITHUB_URL 

POM_LICENCE_NAME=The Apache Software License, Version 2.0
POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt 
POM_LICENCE_DIST=repo

步骤4:执行发布

直接使用你原有发布命令即可完成所有模块的发布:

./gradlew publish --no-daemon --no-parallel

发布完成后用户引入implementation 'com.example.sdk:android-sdk:1.0.2'时,Maven会自动拉取对应版本的core、feature1、feature2三个子模块,和用户单独引入三条依赖的效果完全一致。

注意事项

  • 后续子模块版本升级时,同步修改聚合模块的VERSION_NAME即可保持全量包版本和子模块版本统一
  • 原有单独引入子模块的使用方式不受任何影响,用户可以按需选择全量引入或者按需引入单个功能模块

内容的提问来源于stack exchange,提问作者Moiz Hassan Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 21:24:05