问题描述
我们的 Android 项目是一个 monorepo,包含几个应用模块,甚至更多的库模块。其他开发人员也应该可以访问其中一个库,因此我们决定将其部署在 MavenCentral 上。我们称它为图书馆 L
。然而,这个库在 monorepo 中也包含对另一个模块的依赖(我们称之为模块 m
)。为了测试其他开发人员是否正确访问了库 L
,我们创建了一个演示 Android 项目。但是,当尝试包含发布库 L
的依赖项时,除了在演示 Android 项目中无法解析模块 m
之外,通常一切正常。
可以理解,模块 m
无法解析,因为它既不能在 MavenCentral 上使用,也不能作为 AAR 文件使用。我们无法在 MavenCentral 上发布模块 m
,因为其他人不应获得它,但将其作为 AAR 文件包含在内也不起作用。终端抛出错误:
构建 AAR 时不支持直接本地 .aar 文件依赖项。生成的 AAR 将被破坏,因为来自任何本地 .aar 文件依赖项的类和 Android 资源不会打包在生成的 AAR 中。在这种情况下,以前版本的 Android Gradle 插件也会产生损坏的 AAR(尽管没有抛出此错误)。
那么问题来了 - 如何将包含无法公开的子模块的项目发布到像 mavenCentral
这样的存储库?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)