【发布时间】:2021-12-28 14:34:16
【问题描述】:
我正在开发一个应该作为 Android sdk 工作的项目,该项目包括:
- 一个用于演示的应用模块
- 名为 mainSdkModule 的模块
- mainSdkModule 中使用的其他次要模块(比如 moduleA 和 moduleB)
mainSdkModule 以这种方式导入 moduleA 和 moduleB:
implementation project(':moduleA')
implementation project(':moduleB')
我将整个项目发布为我想在另一个应用项目中使用的 SDK。 为了测试这个 SDK 的集成,我暂时将它发布到我的本地 maven 文件夹。发生的情况是,当我将 sdk 导入应用程序项目时,构建失败并出现以下错误:
Could not find sdk-main-package:moduleA:unspecified.
Required by:
project :mainSdkModule > sdk-main-package:core:1.0.0
我可以通过将每个模块发布为独立库来避免此错误,但我需要将它们保留在内部而不暴露它们。
应用程序项目要求的依赖项甚至不应该被除 sdk 之外的其他项目可见的依赖项是正常的吗?
如何在核心中包含 moduleA 和 moduleB 并为那些导入 SDK 而不在 maven 上暴露这些内部模块的人授予访问权限?
【问题讨论】:
标签: android maven gradle module dependencies