安卓Kotlin重构架构拆解:tp团队2025实战
tp团队去年把安卓端整体重构了一遍,Kotlin代码从老MVP彻底换成了Compose加Hilt的新架构。我把这次重构的核心拆法写出来,给正在做类似项目的同行参考。
整体分层上,代码切成四层:UI层只放Compose的Screen和Composable,ViewModel层管状态转换,Repository层封装数据源,Domain层放纯业务模型。层间靠接口通信开发者日志:tp团队解读2025安卓版重构的Kotlin代码架构!,编译期就能拦住跨层引用,改一个字段不用全项目搜。

Hilt注入的写法上,没让每个Screen都挂@Inject,而是按feature模块建一个Component,Screen内部用Hilt入口点拿ViewModel。好处是模块间零依赖,A模块拆出去不会把B模块的ViewModel拽进来安卓Kotlin重构架构拆解:tp团队2025实战,编译时间从4分钟压到了1分半。
状态管理这块,统一用StateFlow代替旧的LiveData,UI层用collectAsStateWithLifecycle收集。ViewModel内部用MutableStateFlow发状态,外部只看到只读StateFlow,避免下游误改。跨页面共享状态用SharedFlow做事件总线,比EventBus那套干净。
模块化拆分是这次最费劲的部分。项目拆成52个Gradle模块,每个feature一个模块,core-base、core-network、core-ui三个公共模块。踩过一个大坑:两个feature模块互相引用导致循环依赖,把公共模型抽到domain-core里才解开。现在每个模块独立编译,CI全量测试8分钟跑完。
转载请注明出处:tp官方下载安卓最新版本,如有疑问,请联系()。
本文地址:https://www.shyoule.com/tpaz/8213.html
