为什么要组件化?
简单一句话:解耦,方便测试,跑起来快,分工合作。
studio版本3.5.1,gradle 5.4.1
开始搭建
1.新建项目

2.先建Android Library,目的是为了和Phone&Table Module做对比。现在大部分项目都是模块化,将模块化转成组件化是很简单的。

3.再新建Phone&Table Module,注意app与order是可运行Module

4.Library与Module的区别,也就是模块化与组件化的区别。


有2点不一样,其它都一样,也就是说Library转成Module,将apply plugin: 'com.android.library' 改成 apply plugin: 'com.android.application',在加上applicationId "win.tang.library"。模块化转组件化完成。
真的有这么简单?? say yes。
5.gradle配置,在项目根目录下新建config.gradle。

各种抽取常规操作,加了isRelease开关,开发阶段设为false,上线打包,设为true.
6.将config.gradle依赖项目,参与编译。

7.修改LIbrary,将其改成Module,加了如下配置。

同步一下

library可运行。
组件化的简单框架已经完成。
以下操作看业务需求与个人爱好

增加debug文件夹,主要是用来写和主工程无关的代码,比如测试数据啥的,打包apk不会将debug文件夹下文件打包进去。

源码参考GitHub:https://github.com/TWBfly/componentization
如果你爱学习,如果你缺少海量IT资料,这个星球你可以进去看看。

网友评论