【问题标题】:Android studio external library projectsAndroid studio 外部库项目
【发布时间】:2014-02-06 02:07:16
【问题描述】:

我正在从 Eclipse 迁移到 android studio,这是我在 eclipse 中的设置: 我有几个 Android 应用程序项目,这取决于一个工作区中的几个库项目(一些共享)。在 Android Studio 中,我首先开始为每个应用程序创建一个项目,但很快意识到我必须将库项目作为每个使用它们的项目中的模块。这意味着复制库项目并将它们包含在每个应用程序中,这是高度冗余的,并且需要维护库的多个副本。

所以我转而将我的所有应用程序和库作为模块放在同一个项目中。这适用于构建,但会产生其他问题,例如版本控制问题,因为每个模块都位于单独的版本控制存储库中。

进行此设置最简洁的方法是什么?真正的问题是,我可以在 AS 中拥有共享相同外部库项目的单独项目吗?

【问题讨论】:

  • 在 gradle 构建系统中,您不需要下载项目中的所有库模块。您可以使用maven依赖项将它们包含在您的项目中进行编译。

标签: android eclipse android-studio project


【解决方案1】:

注意

随着 Android Studio 0.5.0 的发布,此答案已过时,但我将其留在下面以供参考。有关更多最新说明,请参阅How to share a single library source across multiple projects


在 Android Studio 中,很难有共享库项目,因为目前一个项目中的所有模块必须位于同一个根文件夹下是一个限制;当您尝试通过创建一个包含所有内容的大项目来解决您的问题时,您似乎发现了这一点。我们正在努力解除这一限制。

现在最好的答案是使库模块分离项目并将它们发布到本地 Maven 存储库,并让相关项目从该存储库中提取它们。不幸的是,这意味着您无法从单个项目的上下文中处理您的应用程序 + 库模块源。一个更大的缺点是这些库模块的源附件还不能工作,所以如果你尝试调试你的应用程序,你将很难进入库中的代码。

我知道这不是一个很好的答案,但在 Android Studio 发展的这个阶段,这可能是我们能做的最好的。我们知道您的用例是一个相当常见的用例,我们优先支持它。

【讨论】:

  • 感谢您的回答。我想 Maven 工件会起作用,但我会失去同时访问相关项目的便利。在使用我的设置将相关的“项目”作为同一项目中的模块几天后,我发现这足以满足我当前的需求,除了版本控制问题之外,我还没有遇到任何重大问题。在这种情况下,Eclipse 工作区 = AS 项目和 Eclipse 项目 = AS 模块。
  • 我们正在等待你们解决问题。我们正在尝试使用 git-submodule 来克服它。 git 操作不是很直接。
  • 嗨,Scott,你们最终会允许应用程序项目在应用程序项目的根文件夹之外引用共享库项目吗?你有预计到达时间吗?
  • 您可以在code.google.com/p/android/issues/detail?id=56367 跟踪其进度。正如您从 cmets 中看到的,支持它的更改正在签入,并且应该会出现在下一个版本中。
  • 这种情况在 Android Studio 0.5 中是否有所改善?
猜你喜欢
  • 1970-01-01
  • 2023-01-20
  • 1970-01-01
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-08
  • 2011-12-21
相关资源
最近更新 更多