在真实的项目开发当中,如果遇到比较大的项目,则会有多人对一个工程进行维护,此时非常容易出现代码冲突的问题,为了减少这一个问题,可以使用模块化对项目拆分成一个个的模块,每一个模块可以单独运行,要打Release包发布的时候再把每一个模块进行整合
实现思路:
主APP:
只是一个壳,它并不会做任何的业务处理,只是充当最后发布版本的时候集成各个子模块形成一个完整APP的作用
各个模块:
根据业务或者页面对工程进行拆分,能够单独运行调试、打包和测试
Base模块:
将主APP壳和各个模块都需要使用的依赖、基类和资源文件存放于此,这样子就能做到各个模块的资源和依赖统一管理
module.gradle:
因为各个子模块中build.gradle文件中的配置大多数都是相同的,所以进行一个封装,将一些相同的配置放在新建的gradle文件中,然后各个子模块以 apply from: '../module.gradle'(文件名,路径自定义) 的方式直接加载此gradle文件,降低代码冗余
总体实现下来给我的感觉还是使用了模板设计模式,将一些公共的资源、代码往上提,同时能够实现单个模块独立运行和单元测试,适用于一些大型项目
可以参考:https://github.com/JefferyBoy/android-multi-module-demo