一、什么是组件化
组件化就是将App分成多个Module,每个Module以library的形式存在于项目中,并存在一个壳工程依赖这些Module。如图所示:
二、为何要用组件化
优势:
1、多人分module同步进行开发,开发速度快
2、开发过程中无需编译整个project,提高开发效率
3、模块清晰、耦合度较低、便于维护
4、功能模块可重复利用
三、组件间通信
四、Module库版本统一问题:
每个组件占用一个Module,如果每个module所引用的库版本不一样,将导致app存在重复的库,增加apk包大小。所以,库统一问题需要重视
1、在工程根目录下创建config.gradle配置文件,如图
config.gralle内容如下,可按项目情况添加
2、调用方法
首先,在工程的build导入该文件,如图:
第二步,在各module的build.gradle引用,如图
这里我们定义config变量为rootProject.ext(groovy语言定义,有兴趣的同学可以了解下)api与implementation为Android studio3.0新加入命令,api与compile功能一样
主要,当dependence中引用时,单引号需改为双引号(同样是groovy语法)
至此,你已经学会组件化的第一步啦,下篇文章将介绍Module如何即是library,又是Application
组件化demo : https://github.com/rongkun/ComponentJava