【问题标题】:How to publish android library on github containing private dependencies如何在 github 上发布包含私有依赖项的 android 库
【发布时间】: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 文档上找到任何关于它的信息。有没有人遇到过类似的问题?

【问题讨论】:

  • 您可以将私有库作为aarjar 发送到您的libs 文件夹中,然后对其使用依赖。
  • 当我们将这些依赖项上传到我们的 nexus 时,我们上传了 2GB 的文件。这种方法不是意味着要大量增加最终库的大小吗?

标签: android github external-dependencies


【解决方案1】:

我发现这个插件可以轻松构建一个胖子:https://github.com/kezong/fat-aar-android

【讨论】:

    猜你喜欢
    • 2019-09-16
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 2014-04-24
    • 2020-03-15
    • 2017-01-29
    • 2018-04-02
    相关资源
    最近更新 更多