在项目之间共享库

时间:2015-05-20 14:31:06

标签: android android-studio

我正在寻找Android工作室的帮助,并没有想出任何有用的东西。 假设我正在开发2个应用程序:app1和app2。这2个应用程序共享它们之间的通用逻辑,所以我有库lib1。在eclipse中,我可以将它们全部放在同一个工作区中,并且对lib1的任何更改(在app1或app2上工作期间)都会很好地出现在另一个工作区中。

Android工作室建议将库导入模块。在“工作”时,它不会应用任何更改。导入实际上复制代码,而不引用原始代码。虽然这对于稳定的库来说是可以容忍的,但这对于开发项目组是不可能的。 从第一个副本到第二个副本的复制和粘贴代码无法实现。 有没有人知道的解决方案?

2 个答案:

答案 0 :(得分:0)

远程库:

您仍需要创建Android Library,但您需要将其推送到本地maven存储库,以便在本地或在JcenterOSS Sonatype等在线存储库中使用。

本地图书馆:

Top Gradle Folder
.
+-- Lib-AndroidLibrary
|   +-- src
+-- App-MyApp1
|   +-- src
+-- App-MyApp2
|   +-- src

App-MyApp1App-MyApp2的{​​{1}}中,您需要:

build.gradle

答案 1 :(得分:0)

使用名为'junction'的文件系统功能为我做了工作。我把我想要分享的.java文件放在一个单独的文件夹中。

    Example: d:\Android\mylib\SharedClass.java

然后我进入项目目录d:\ Andorid \ ExampleApp \ app \ src \ main \ java \ com \ domain \并执行此命令行命令:

    mklink /J mylib d:\Android\mylib

这创造了一种符号链接(交汇点)。之后,我的Android Studio项目树中出现了额外的包。一个是com.domain.mylib,另一个是com.domain.exampleactivity 我也尝试使用硬链接(mklink / H),但它没有用。 Android Studio通过中间文件保存文件,并在完成写入后将其重命名,从而擦除硬链接。