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

Ral*_*ius 21 android

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

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

我的问题是:

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

我正在使用Android Studio IDE.

谢谢,

小智 33

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

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

我的应用 -"/../AndroidStudioProjects/MyApplication"

MyLibraryDemo -"/../AndroidStudioProjects/MyLibraryDemo"

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

并且假设您正在尝试在MyApplication中使用libmodule.然后,在您的项目中,执行此操作settings.gradleMyApplication

include ':app', ":libmodule"
project(':libmodule').projectDir = new File(settingsDir, '../MyLibraryDemo/libmodule')
Run Code Online (Sandbox Code Playgroud)

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

祝一切顺利 :)

  • 什么是`:app`文件夹和`settingsDir`这里 (6认同)
  • 对我来说,子项目确实构建了,但是我不能将它作为依赖项引用`错误:无法找到带有Gradle路径的模块':libmodule'(模块'app'需要.)`当我声明它像`compile project'时:libmodule')` (3认同)

afa*_*man 5

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

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

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