【Android 多模块构建】如何启动另外一个module中的Activity
一、多模块构建
比如下图是我们现在工程的结构
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'.
更多相关文章
- Android--AIDL,一种实现进程间通信的方式
- Android IPC的6种方式
- Android Manifest.xml 结构详解
- Wifi模块分析_android
- Android 创建桌面快捷方式
- Android中解析JSON的两种方式
- Android编译系统结构
- Android 底部菜单栏Tab功能的几种实现方式