插件化开发的优点
- 自解耦
把一部分功能单独编译,减少主App的体积,加快编译
- 免安装
- 动态更新,模块定制
Android Lite 和 Android HD 问题,腾讯游戏大厅
插件化发展史
- 罗迪:https://www.infoq.cn/news/2016/05/lody-interview/
- VirtualApp:https://github.com/asLody/VirtualApp
插件化框架的缺点
- 应用市场支持
- 集成插件化框架的App不能在Google Play发布
- 跟Google对抗
- 维护成本高
- 稳定性差
实现插件化需要太多的黑科技,它给项目的维护成本和稳定性增加了诸多不确定性
维术:2018年Android 9.0上私有API的限制几乎称得上是盖棺定论了——曾经波澜壮阔的插件化进程必将要退出历史主流。如今的插件化技术朝两个方向发展:其一,插件化的工程特性:模块化/解耦被抽离,逐渐演进为稳定、务实的的组件化方案;其二,插件化的黑科技特性被进一步发掘,inline hook/method hook大行其道,走向双开,虚拟环境等等
- didi/VirtualAPK 2018年停止更新
- Manbang/Phantom 2019年7月停止更新,Gradle 3.3 + Android Gradle Plugin 2.3.3,不支持 Android Data Binding
- …
插件化实现原理
参考
https://github.com/tiann/understand-plugin-framework/blob/master/README.md
插件化技术的演进之路
探索Android开源框架 - 10. 插件化原理
【Android 修炼手册】常用技术篇 — Android 插件化解析 - 掘金
RePlugin 高级话题