前言
插件化技术最初源于免安装运行apk的想法,这个免安装的apk可以理解为插件
支持插件化的app可以在运行时加载和运行插件,这样便可以将app中一些不常用的功能模块做成插件,一方面减小了安装包的大小,另一方面可以实现app功能的动态扩展
插件化技术也得到了长足的发展;与此同时,React Native,PWA,App Bundle,以及最近的Flutter也如火如荼;由于实现插件化需要太多的黑科技,它给项目的维护成本和稳定性增加了诸多不确定性
我个人认为,2017年手淘Atlas插件化项目的开源标志着插件化的落幕;2018年Android 9.0上私有API的限制几乎称得上是盖棺定论了——曾经波澜壮阔的插件化进程必将要退出历史主流;如今的插件化技术朝两个方向发展:其一,插件化的工程特性:模块化/解耦被抽离,逐渐演进为稳定、务实的的组件化方案;其二,插件化的黑科技特性被进一步发掘,inline hook/method hook大行其道,走向双开,虚拟环境等等
虽然插件化终将落幕,但是它背后的技术原理包罗万象,值得每一个希望深入Android的小伙伴们学习
插件化的由来
为了满足产品中