将App功能拆分成多个模块,每个模块都是一个apk,最终打包成宿主apk和多个插件apk,插件apk放到云端通过接口动态下发到宿主apk,实现功能集成。
插件化的优势- 宿主apk和插件是分开编译的,是两个apk,更利于多人开发。
- 插件模块功能的迭代更新和bug修复可以通过服务端接口动态下发,不需要重新下载安装整个apk,更加灵活方便
- 主apk的各个功能模块,用户可以按需下载,可以减小主apk的包体积
- 可以解决65535问题
通过一个宿主Activity成为插件apk的载体来显示插件中的内容,这个过程的核心就是重写宿主Activity的getResources()和getClassLoader()方法,将资源和类加载器指向插件apk中的内容。将宿主Activity的生命周期和上下文Context传递给插件Activity来处理。
详细实现pluginDemo: Android插件化demo



