一、多模块构建
比如下图是我们现在工程的结构
project
├─── setting.gradle
├─── build.gradle
├─── app
│ └─── build.gradle
└─── testlibrary
└─── build.gradle
要想进行多模块构建,必须要告诉gradle项目的结构以及子文件夹包含模块,这就需要编写settings.gradle。
如上图,若想构建上图多模块,在settings.gradle文件中应该是这样的:include ':app',':testlibrary'
此外,为了在app模块中添加library作为依赖,需要在app的build.gradle中添加
dependencies {
compile project(':testlibrary')
}
二、如何启动另外一个module中的Activity?有四种方式!
1、在app module的manifest里注册另一个module的Activity
通过startActivity就可以启动
2、通过包名启动
可以不在app module里注册另一个module的Activity
3、隐式跳转:
不需要在app module的manifest里注册该Activity,这种跳转方式就是在Android中打开支付宝的支付页的方式。
4、通过Bus启动:
这种方式是大公司普遍采用的方式。如果想让另外一个module执行一些操作,只需要call另外一个module的bus就可以了。
如果想深入理解,可以参考我的另外一篇文章《Bus实现原理》。
三、注意事项
testlibrary和app这两个module的sdk版本要设置为一直否则可能会报错
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.