将共享库项目/模块与其源同步

时间:2015-07-11 15:27:16

标签: android

我正在学习构建可与不同项目一起使用的Android共享库。我对这个问题有几个问题。在我进入问题之前,以下是我到目前为止所做的事情:

  • 创建图书馆项目
  • 创建另一个应用程序项目并将上面的库作为模块导入

我的问题是:

  • 库项目的代码是否自动与导入应用程序项目的代码同步?如何实现?
  • 如果没有,我还能做些什么来确保我只需要更新共享库一次?

我正在使用Android Studio IDE。

谢谢,

2 个答案:

答案 0 :(得分:30)

啊,是的,在许多情况下这可能非常有用。您可以执行以下操作来实现此目的。

假设您有两个项目 - MyApplication MyLibraryDemo ,其中包含库模块 libmodule ,其中包含以下路径:

MyApplication - "/../AndroidStudioProjects/MyApplication"

MyLibraryDemo - "/../AndroidStudioProjects/MyLibraryDemo"

libmodule - "/../AndroidStudioProjects/MyLibraryDemo/libmodule"

我们假设您正在尝试在 MyApplication 中使用 libmodule 。 然后,在settings.gradle项目的MyApplication中,执行此操作

include ':app', ":libmodule"
project(':libmodule').projectDir = new File(settingsDir, '../MyLibraryDemo/libmodule')

您可能需要进行相关更正,但我希望链接另一个模块的想法很明确。

一切顺利:)

答案 1 :(得分:5)

从应用程序项目外部导入模块会在应用程序内部创建库的副本。如果您的系统支持它,创建符号链接将允许您只有一个代码副本。

否则,您可以将整个库项目移动到您的应用程序中并将其添加到您的settings.gradle中。

如果您希望为这两个项目提供单独的git存储库,请查看使用git子模块。