【Android多模块构建】如何启动另外一个module中的Activity

来源:互联网 发布:textmining apache 编辑:程序博客网 时间:2024/06/16 07:03

一、多模块构建

比如下图是我们现在工程的结构

 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就可以了。

如果想深入理解,可以参考我的另外一篇blog。点击打开链接


三、注意事项

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'.


原创粉丝点击