我们在开发中可能会遇到同时开发几个app的情况,而这几个app在某些地方是相同的,而我们通常的做法是将相同的部分抽成一个library。这在eclipse中是很好实现的,而在Android studio中,我们一般都是抽成module,而一般这些module还是放在项目的根目录下的,要在另一个项目中使用,怎么办呢?
- 方法一:
将module拷贝到另一个项目的根目录下,在其settings.gradle 文件中的include 后面添加模块名。比如原来只有
include ':app'
然后我们添加一个utils模块:
include ':app',':utils'
最后别忘了在app那个build.gradle文件中的dependencies加上
compile project(":utils")
大家应该发现了,这种办法挺笨的,如果一个app中的module有代码上的改变,就要将有改变的module拷贝,然后覆盖未被改变的module。
其实我们有更好的办法,让两个app指向同一个module。
- 方法二:
我们在app的根目录的的同级目录(也就是你项目所在的目录),建立一个新的文件夹,比如命名为library,然后把module拷贝进去,在两个app的settings.gradle 文件中的include 后面修改或添加模块名。比如原来是
include ':app', ':pushsdk'
我们改成:
include ':app'