【问题标题】:Android: What is the best way to distribute one's library project aar?Android:分发库项目 aar 的最佳方式是什么?
【发布时间】:2017-10-04 16:59:37
【问题描述】:

我想发布我的 aar,但不想使用开源许可证发布它。因此,什么是正确的方法。我尝试了 jCenter() 但它是付费的,并且 Amazon S3 只允许私有 repo 托管。我要公开。

提前致谢。

【问题讨论】:

  • “Amazon S3 只允许私有仓库托管”——不,它不允许。我的 CWAC 库位于 S3 托管的公共工件存储库 (https://s3.amazonaws.com/repo.commonsware.com) 中。
  • 太好了..你能告诉我如何做以及如何分发的步骤吗?
  • 只是一个目录结构。我使用maven 插件及其uploadArchives 任务将工件推送到我的开发机器硬盘驱动器上的本地存储库中。然后我编写了一个 Ruby 脚本来为每个目录生成 index.html 文件(至少以前是必需的,不确定是否仍然是必需的)并将树与 Amazon S3 同步。很可能,有更好的食谱。
  • 这没有帮助,因为无论我在哪里寻找示例,他们都说想要访问您在 S3 上的 aar 文件的任何人都必须拥有 aws 凭据。我的问题是 android 开发人员如何访问我在 S3 上托管的 aar 文件。详细的步骤会很有帮助,因为我在做了很多研究后发布了这个问题。
  • “他们说,任何想要访问 S3 上的 aar 文件的人都必须拥有 aws 凭据”——在文件上将 ACL 设置为公共/只读。您不必使用 S3;任何 HTTP 服务器都可以。事实上,由于在 S3 中使用 SSL 的限制(即,被困在 https://s3.amazonaws.com/repo.commonsware.com 而不是 https://repo.commonsware.com),托管在其他地方会有优势。

标签: android publish aar


【解决方案1】:

经过大量研究,我找到了解决方案。

  1. 如果您想分发您的工件并且不想使其开源并且可以花钱,那么 jCenter() 是最好的选择。

  2. 如果您想免费分发您的工件并使其开源,那么使用 Apache 许可证分发它是最好的方法。

  3. 如果您仍想免费分发您的工件并且不想使其开源,您可以在 GitHub 中托管 maven 存储库。 以下文章帮助我做到了这一点:http://andydyer.org/blog/2014/10/05/hosting-android-dependencies-on-github/

【讨论】:

    猜你喜欢
    • 2011-03-05
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    • 2010-09-07
    • 2013-10-25
    • 2010-10-09
    相关资源
    最近更新 更多