Android 组件化开发
前言
以前我在一家公司遇到这样的问题,他们时专门给客户做各种各样的app的,写了很多应用,基本上都有一些通用的功能,本来是有一个功能齐全的项目,可是随着人员的进出,标准项目没人维护,于是git上建了一堆不同功能的app分支,后来的人每当修改完这个分支的bug,又得去修改其他分支的问题,至少十几个的分支,维护起来相当耗费精力,在这种情况下,网上查了一堆资料,知道了有个东西叫组件化开发,当然还有个插件化,但本篇文章只讲组件化的一些个人理解。
目的
将整个app按模块分成几个Module,公用的部分封装成一个单独的Module,降低代码之间的耦合性,每个不同的app只需要调用不同的Module就行,处理bug时也只需要修复有问题的Module就可以,然后调用调用最新的Module就可以。
原理
我们的项目中主要是各种Module组成的,可运行的在对应的build.gradle配置为apply plugin: ‘com.android.application’,不能运行的在对应的build.gradle配置为apply plugin: ‘com.android.library’,而组件化的开发其实就是将各种Module动态配置,开发的时候每个Module都设置为application,变成可单独运行的apk,做release版本时在将其他的Module都设置为librar