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

Android 将共享库项目/模块与其源同步,android,Android,我正在学习构建可用于不同项目的Android共享库。关于这个问题我有几个问题。在我回答这些问题之前,以下是我迄今为止所做的工作: 创建库项目 创建另一个应用程序项目并将上面的库作为模块导入 我的问题是: 库项目的代码是否自动与导入到应用程序项目中的代码同步?如何实现这一目标 如果没有,我还能做些什么来确保我只需要更新一次共享库 我正在使用Android Studio IDE 谢谢,从应用程序项目外部导入模块会在应用程序内部创建库的副本。如果您的系统支持,那么创建一个符号链接将只允许您拥有

我正在学习构建可用于不同项目的Android共享库。关于这个问题我有几个问题。在我回答这些问题之前,以下是我迄今为止所做的工作:

  • 创建库项目
  • 创建另一个应用程序项目并将上面的库作为模块导入
我的问题是:

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


谢谢,

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

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


如果您希望这两个项目都有单独的git存储库,请研究使用git子模块。

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

假设您有两个项目-MyApplicationMyLibraryDemo包含库模块libmodule,路径如下:

MyApplication-
“/../AndroidStudio项目/MyApplication”

MyLibraryDemo-
“/../AndroidStudio项目/MyLibraryDemo”

libmodule-
“/../AndroidStudioProjects/MyLibraryDemo/libmodule”

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

include ':app', ":libmodule"
project(':libmodule').projectDir = new File(settingsDir, '../MyLibraryDemo/libmodule')
您可能需要进行相关更正,但我希望链接另一个模块的想法是明确的


最棒的是:)

这就像一个符咒。两个模块自动同步,当我想更新共享模块时,我不需要同时打开它们。什么是
:app
文件夹和
设置dir
这里有一种方法可以包括外部项目,但不包括完整路径,以便它们也可以在其他PC上使用?@Esteban您可以使用其他项目的相对路径,如回答中所示我确实构建了子项目,但我无法将其作为依赖项引用。
错误:无法找到具有渐变路径“:libmodule”(模块“app”需要)的模块。
当我像这样声明它时。
编译项目(':libmodule')