插件化就是将一个 app 分为一个宿主和多个模块(插件),宿主是被真正安装到设备的 apk,负责加载插件,每个插件都是一个独立的 apk,最终打包发布时宿主和插件分开或者联合打包。 组件化也是将一个 app 分为一个宿主和多个模块(组件),每个组件可以是一个单独的模块,也可以相互依赖,最终打包发布时宿主和组件打包成一个 apk。 为什么组件化 1. 模块解耦,业务模块组件更加独立。 2. 重用公共库模块,减少重复开发和维护的工作量。 3. 并行开发,模块组件支持热更新,加快版本迭代速度,解决用户需要频繁更新 app 问题。 4. 有效减少编译时间,可以单独编译和调试单个模块,提高开发效率。 5. 方便测试,可以针对单个模块进行测试。