前半年断断续续在学习插件化的一些知识,计划最近一段时间能系统地整理出学习笔记。
下表表格是目前主要的插件化解决方案,其中360的DroidPlugin方案是最为完美的,但是也很复杂。在使用时可以适度简化。
其他的方案虽然多少都有点瑕疵,但是对于多角度理解android框架是有帮助的,同时也能活跃思维。
DroidPlugin | DynamicAPK | dynamic-load-apk (简称:DL) | AndroidDynamic Loader | android-pluginmgr | |
开发者 | 张勇 360手机卫士 | 程浩然 携程 | 任玉刚 | ||
API完整度 | 所有API | 四大组件 | 不支持 服务和广播 | 不支持 Resource API | 不支持 服务和广播 |
主要特点 | Hook了Framework层 几乎所有的系统服务 | 改写aapt, 对插件资源重排, 达到资源通用 | 插件用that语法,代理Activity | 动态创建Activity | |
Gitlab地址 | https://github.com/ DroidPluginTeam/ DroidPlugin | https://github.com/ CtripMobile/DynamicAPK | https://github.com/ singwhatiwanna/ dynamic-load-apk | https://github.com /mmin18/Android DynamicLoader | https://github.com/ houkx/android- pluginmgr/ |