腾讯的Android插件框架Shadow



  • Shadow是一个腾讯自主研发的Android插件框架,经过线上亿级用户量检验。 Shadow不仅开源分享了插件技术的关键代码,还完整的分享了上线部署所需要的所有设计。

    与市面上其他插件框架相比,Shadow主要具有以下特点:复用独立安装App的源码:插件App的源码原本就是可以正常安装运行的。零反射无Hack实现插件技术:从理论上就已经确定无需对任何系统做兼容开发,更无任何隐藏API调用,和Google限制非公开SDK接口访问的策略完全不冲突。全动态插件框架:一次性实现完美的插件框架很难,但Shadow将这些实现全部动态化起来,使插件框架的代码成为了插件的一部分。插件的迭代不再受宿主打包了旧版本插件框架所限制。宿主增量极小:得益于全动态实现,真正合入宿主程序的代码量极小。Kotlin实现:core.loader,core.transform核心代码完全用Kotlin实现,代码简洁易维护。

    Shadow支持四大组件、Fragment代码添加和Xml添加DataBinding、跨进程使用插件Service、自定义Theme、插件访问宿主类、So加载、分段加载插件等,一个Activity中加载多个Apk中的View。

    项目地址: https://github.com/Tencent/Shadow

    793d4773-eb79-4b33-b08e-f7ed526d8946-image.png


Log in to reply