组件化优劣
1. 解耦,代码复用率高
2. 分模块维护与集成,减少编译时间
3. 减少维护成本
组件化原理
1. 子模块与主工程能单独编译运行
2. SDK,第三方包版本一致
3. 资源的冲突解决
4. 模块之间的相互使用与传递数据
5. APPlication初始化
组件化实施
1. 模块分化
先将能想到的项目思考分成不同模块
2. 新建module
a) 新建model,新建一个version用来统一管理版本
b) 在 下新增字段isGroup标记是否为集成模式还是开发模式
c) 在每个module组件的gradle里修改标记isgroup为每个module入口
d) 在每个module组件的gradle里修改版本为vsersion里面版本
3. 修改module
a) 在module下配置manifest,理论上有两个
b) 在gradle 下配置不同开发模式下使用哪个manifest
c) 配置resourcePrefix "a_"使每个module新建资源分离
4. 引入路由
1.使用阿里Arouter引入
官网地址:https://github.com/alibaba/ARouter/blob/991a221386ea4d51b6f61590efa0dfdf9b412a1f/README_CN.md
2.在每个module下的gradle添加依赖,不能使用同一方式
3.每个gradle配置包名
4.每个Activity添加注解,配置同一跳转,最好用一个包管理起来(未做)
5. 完成
编译和分开编译试运行
注 引入第三方包必须API方式