android组件化掘金,从零开始Android组件化

什么是组件化?

项目开发到一定阶段时,随着需求的增加以及频繁地变更,项目越来越大,越来越臃肿,各个module之间依赖严重,每次打包编译都要耗时很久。而且因为依赖严重,所以同项目开发人员之间无法并行开发,影响开发效率。

为了解决这个问题,对项目各个模块进行解藕,拆分。这个过程叫做组件化。

为什么需要组件化?

简言之:代码解耦,并行开发

通过不同维度和应用环境下进行不同程度的拆分,达到组件灵活配置,增加开发效率的目的。 所以细化来说,组件化就是根据功能和业务来拆分module,最后module组成模块,而后模块组装成应用。

组件化的基本架构

ae7b5259552b

图片来自网络

开始组件化

1. 基础库的封装

将基础库封装到common_base模块中。

2. 组件模式和集成模式的切换(libs和app之间切换的能力)

因为要实现各个module之间解藕,能实现并行开发,所以必要的功能模块应该可以单独打包测试,而互不影响。

2.1 项目根目录下添加一个自定义的gradle文件

在文件里面需要添加额外的属性:

模块切换app的开关

依赖库以及版本号定义

ae7b5259552b

config.gradle

这样就可以把控整个项目的配置。

2.2 项目根目录下的build.gradle中依赖config.gradle

ae7b5259552b

依赖config.gradle

2.3 在对应组件module的build.gradle中设置切换逻辑

ae7b5259552b

app和lib切换

如果切换到组件模式下,组件要作为独立app,那么就需要以下配置:

gradle添加对应的appID

入口Activity,并在manifest里面申明application和入口activity

sourceSet配置组件模式和集成模式依赖的对应资源并在对应路径添加资源

ae7b5259552b

组件配置

2.4 主APP的build.gradle中设置切换逻辑

ae7b5259552b

主app切换逻辑

3. 组件间通信实现

到目前项目的组件化基本完成,后续更新项目完善后的更多细节以及遇到的问题......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值