自定义Android SDK发布到MavenLocal后无法在其他项目调用的问题
问题分析与解决方案
问题根源
你发布到MavenLocal的依赖仅生成了pom文件,未包含实际的aar构件(从pom里的<packaging>pom</packaging>可看出),导致其他项目引入后没有可调用的实际代码。核心原因是发布脚本未指定要发布的Android库构件。
解决步骤
1. 修改SDK模块的发布脚本
在publishing配置中添加构件来源,明确指定发布Android库的release版本构件:
publishing { publications { create<MavenPublication>("maven") { groupId = "com.formula" artifactId = "Formula" version = "1.0.0" // 关键配置:关联Android库的release组件 from(components.release) } } }
2. 重新发布到MavenLocal
执行清理和发布命令,确保生成完整的构件:
./gradlew clean publishToMavenLocal
3. 验证发布结果
检查C:\Users\user\.m2\repository\com\formula\Formula\1.0.0路径下是否生成以下文件:
Formula-1.0.0.aar(实际的库代码文件)Formula-1.0.0.pom(依赖描述文件)- 可选文件(如源码包、文档包,若配置了相关任务)
4. 在目标项目中同步依赖
- 清理目标项目的Gradle缓存(通过
File -> Invalidate Caches...操作) - 重新同步Gradle项目
5. 正确导入并调用函数
如果calculateFormula是com.formula包下的顶层函数,导入语句应为:
import com.formula.calculateFormula
之后即可正常调用:
calculateFormula(1.00, 1.00, 1.00, 1.00, 1.00)
内容的提问来源于stack exchange,提问作者Prasad B
相关产品推荐
相关产品推荐

