【问题标题】:Best way to include the dependencies in an Android library?将依赖项包含在 Android 库中的最佳方法是什么?
【发布时间】:2020-09-24 08:23:52
【问题描述】:

我构建了一个库,它使用 Retrofit 处理一些网络请求。 Retrofit 作为 JAR 文件包含在库中。 我想将库作为 .aar 文件发送。

将使用 .aar 文件的主机应用程序也需要进行改造,因为它需要执行一些网络请求。

宿主应用应该做什么?

  • 使用 .aar 文件的 Retrofit 库?

    我已经尝试过了 工作,问题是这听起来不像一个可维护的解决方案 因为主机应用程序将绑定到内部的改造版本 图书馆。

  • 包含另一个版本的 Retrofit?

    我已经尝试过了,但我在编译主机应用程序时遇到了错误,因为我有多个版本的 Retrofit 文件。例如:

找到多个文件,其独立于操作系统的路径为“okhttp3/internal/publicsuffix/NOTICE”

  • 还有其他解决办法吗?

    我读到我可以使用传递选项,但如果我这样做,库将依赖于主机应用程序的改造版本,对吗?

【问题讨论】:

    标签: android retrofit retrofit2 libraries aar


    【解决方案1】:

    从我的角度来看,使用传递选项应该是最好的。

    库不依赖于宿主应用程序,但宿主应用程序依赖于库。您的库仍将使用您在库中实现的 Retrofit 版本。

    通过使用传递选项,您只是确保在库中使用的改造版本没有被宿主应用程序使用。

    【讨论】:

      猜你喜欢
      • 2018-10-04
      • 1970-01-01
      • 2015-04-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 2020-12-01
      • 1970-01-01
      • 2018-06-06
      相关资源
      最近更新 更多