【问题标题】:Dealing with exporting 3rd party libraries while building a lib project在构建 lib 项目时处理导出 3rd 方库
【发布时间】:2014-07-14 18:30:23
【问题描述】:

我正在构建一个 android 库项目。我的图书馆使用一些第三方图书馆(如番石榴等)。现在其他一些团队需要使用我正在构建的这个库。

我的问题是在将库提供给实际项目时应该对我正在使用的外部库做些什么。

我认为的几个选项是:

  1. 导出第 3 方库。 问题:如果我导出这些 3rd 方库,那么项目可能会遇到一些问题,例如: a:如果他们已经在使用这些 3rd 方库(具有不同版本),那么他们将得到重复符号错误。如果他们删除了他们的 3rd 方库,那么某些类可能存在也可能不存在。这也意味着每次某些应用程序需要我的库时,这将是一场艰难的集成噩梦。

  2. 不要导出第 3 方库 问题:如果我的库使用的第 3 方库类在应用添加的第 3 方库中不存在,应用程序将出现运行时异常。

请说出解决此问题的最佳方法。

谢谢!

【问题讨论】:

    标签: java android android-support-library


    【解决方案1】:

    这就是为什么有这么多构建管理工具的原因。使用其中之一。我不确定当前在经典 Android 开发中建议选择的构建工具是什么,但在非 Android 项目中,我会使用 Ant + Ivy 或 Maven。方法始终相同:您定义 3rd 方依赖项,例如作为库项目的编译或运行时依赖项。每次你有一个“可用”版本的库时,你都会将它发布到像 Nexus 这样的共享存储库中,这样就可以了。 另一方面,您的同事使用您的 lib 作为依赖项。然后,构建管理工具将像您的第 3 方库之一一样处理这种依赖关系。

    如果您没有任何类型的构建和源代码管理基础架构,现在是时候获得一个,因为如果没有这些基本工具,您的问题将无法真正解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      相关资源
      最近更新 更多