2015-07-11 53 views
16

我正在学习构建可用于不同项目的Android共享库。我对这个问题有几个问题。我进入问题之前,以下是我迄今所做的:同步共享库项目/模块及其源代码

  • 创建库项目
  • 创建另一个应用程序项目,进口上述库作为一个模块

我的问题是:

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

我正在使用Android Studio IDE。

谢谢

回答

20

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

比方说,你有两个项目 - MyApplication的MyLibraryDemo包含库模块libmodule具有以下路径:

MyApplication的 - "/../AndroidStudioProjects/MyApplication"

MyLibraryDemo - "/../AndroidStudioProjects/MyLibraryDemo"

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

而且我们说你是想在MyApplication的使用libmodule。 然后,在你的MyApplication项目settings.gradle,做到这一点

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

你可能不得不做出相关修正,但我希望连接其它模块的思路是清晰的。

所有最好的:)

+0

这就像一个魅力。两个模块自动同步,当我想更新共享模块时,我不需要打开它们两个。 – Ralphilius

+5

什么是':app'文件夹和'settingsDir'这里 – viper

+0

有没有一种方法来包含外部项目,但不包括完整路径,以便它们可以在其他PC上使用? – Esteban

4

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

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

如果您希望为这两个项目分别使用git存储库,请查看使用git子模块。

相关问题