Android Studio 多工程公用module引用
在项目开发的过程中,有时候一个外部Module可能会被多个工程依赖,如果按照正常的安卓导入Module的方式的话,会将外部Module拷贝到本工程,然后引入,实际上已经与原Module没关系了,这样本身没有什么问题,但是如果想要通过一处修改多处生效的话,可能就需要来回拷贝代码了,这样就会非常的麻烦。那么有没有什么方式可以支持导入外部Module然后又非拷贝到本地的方式呢,答案肯定是有的,方式如下:
项目根目录下的settings.gradle中
include ':app'
//需要导入的外部Module名称,可以任意取名,但是建议跟原Module名称保持一致
include ':xxx'
//xxx必须与上面include外部Module的名称一致,module-path顾名思义Module的路径可以是绝对路径也可以是相对路径
project(':xxx').projectDir = new File('module-path')
按照上述方式操作之后,同步下就可以在module列表中看到导入的外部module了,引用方式和本工程下的module引用方式一致,如:
dependencies {
implementation project(':xxx')
}
*当然这种方式也有弊端,有概率会出现工程错乱的情况,原因目前未知,当前的解决办法就是将工程和Module下Android Studio自动生成的各种文件全部删掉,重新导入即可。