首先展示项目结构:
这里项目的依赖结构为: module1和module2依赖base,而app依赖module1和module2.
多module依赖应该注意问题:
1.重复导包
解决办法,删除module中多余的包,在module的defaultConfig{}中添加
enforceUniquePackageName = false
2.module包名重复
新建module的时候,最好选取不同的包名,这样可以避免该问题。如果发生,可以更改module下的清单文件,修改module文件夹包名。
3.使用ARouter需要注意事项:
i. 需要在使用ARouter的module的build.gradle文件中添加(不能只在basemodule中添加)
annotationProcessor 'com.alibaba:arouter-compiler:1.1.2.1'
并且在defaultConfig下也应该添加以下代码
javaCompileOptions {
annotationProcessorOptions {
arguments = [ moduleName : project.getName() ]
}
}