【发布时间】:2022-01-14 04:50:45
【问题描述】:
我的工作是开发一个 android 库(我的第一个库)以供其他公司的应用程序使用。问题是,我需要使用来自第三方提供商的依赖项,他们将它们保密(我需要在 build.gradle 文件中设置凭据才能下载它们),我们第一个消费应用程序的团队告诉我们他们是得到错误(他们找不到所说的依赖项)。我们从我们的供应商处下载了它们,并将它们(价值 2GB)上传到 nexus 作为快速修复,它确实有效。
问题是,该公司已决定从自托管 gitlab/nexus 迁移到云 github。他们设立了一个组织,我们(开发人员)也参与其中。
我创建了自己的存储库,上传了我们的最新版本并创建了脚本来发布我们的库。我在 github 存储库上看到了我用来上传到 nexus 的相同文件。我告诉消费应用程序的人给它一个测试,他们说他们发现了同样的错误:他们找不到提供者的私有依赖项。
此时我不知道该怎么办。
- 找到依赖并上传到github?这有两个问题。首先,我不知道如何上传这些依赖项,因为它们不属于我在 github 中拥有的任何存储库。其次,我们需要在提供商每次发布版本时都执行此操作,以使依赖项保持最新。
- 让提供者公开他们的依赖关系? IDK 如果他们会接受这个,或者这是否足以解决我们的问题。消费应用程序是否应该在其 build.gradle 上声明 my 依赖项的来源(url),还是 pom 文件应该已经包含所有内容?我以为是后者,但这个问题证明我错了。
这种情况非常具体,我无法在 github 文档上找到任何关于它的信息。有没有人遇到过类似的问题?
【问题讨论】:
-
您可以将私有库作为
aar或jar发送到您的libs文件夹中,然后对其使用依赖。 -
当我们将这些依赖项上传到我们的 nexus 时,我们上传了 2GB 的文件。这种方法不是意味着要大量增加最终库的大小吗?
标签: android github external-dependencies