组件化:
就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并成一个apk,这就是组件化开发。
插件化:
和组件化开发略有不用,插件化开发时将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和插件apk分开或者联合打包。
两者区别
简单来说组件化是在编译期分模块,插件化是在运行期。一般插件化用于动态修复bug或者动态更新模块,相对来说黑科技更多一些。
一、组件化
1、android工程的组件一般分为两种:
-
**application组件:**是指该组件本身就可以运行并打包成apk
-
**lib组件:**是指该组件属于app的一部分,可以供其它组件使用但是本身不能打包成apk
正常一个App中可以有多个module(模块),但是一般只会有一个module是设置为application的,其他均设置为library。组件化开发就是要每个module都可以运行起来,因此在开发期间每个module均设置为application,发布时再进行合并。
2、为什么要有