0%

模块化-2 模块拆分-从小模块入手

1期的时候我们把整个方案计划都确定后,将逐步开始实践。我们的计划是从小模块开始,比如setting模块。通过小模块的拆分,逐渐将基础模块lib完善。

拆分步骤

  1. 整理出setting功能模块的依赖关系。
  2. 拆分基础lib module。
  3. 将setting依赖的模块拆分成独立lib module。

结构图

过程

拆分过程中也遇到了一些问题。

1 资源的复用。对于特定业务模块的资源,为模块私有自己处理;对于共用资源,放置到公共的资源module里面。

2 资源冲突。我们可在Module中的build.gradle配置资源名的前缀。

1
2
3
android {
resourcePrefix "moduleName_"
}

3 依赖库版本号冲突。将所有依赖的版本号基础放置到gradle中集中管理。

1
"androidx.annotation:annotation:${androidx}"

结果

最终项目结构如下所示
结构图

总结

其实理念上并没有什么难度,其实难度都在对现有业务的理解和代码解耦。