26

腾讯零反射全动态 Android 插件框架 Shadow 正式开源

 4 years ago
source link: https://www.tuicool.com/articles/EVrEFrJ
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

RRfiyi3.jpg!web

点击链接或图片 即可阅读

喜欢请 分享到朋友圈

项目介绍

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

与市面上其他插件框架相比,Shadow 主要具有以下特点:

  • 复用独立安装 App 的源码:插件 App 的源码原本就是可以正常安装运行的。

  • 零反射无 Hack 实现插件技术:从理论上就已经确定无需对任何系统做兼容开发,更无任何隐藏 API 调用,和 Google 限制非公开 SDK 接口访问的策略完全不冲突。

  • 全动态插件框架:一次性实现完美的插件框架很难,但 Shadow 将这些实现全部动态化起来,使插件框架的代码成为了插件的一部分。插件的迭代不再受宿主打包了旧版本插件框架所限制。

  • 宿主增量极小:得益于全动态实现,真正合入宿主程序的代码量极小(15KB,160 方法数左右)。

  • Kotlin 实现:core.loader,core.transform 核心代码完全用 Kotlin 实现,代码简洁易维护。

GitHub 地址

https://github.com/Tencent/Shadow

BJnAzyB.jpg!web

:point_down:

7ZniYnQ.jpg!web

头条君邀请您加入

开发者头条读者交流群

(识别下方群主二维码申请进群 ,请注明 “ 城市+技术方向

微信号 toutiaoio007

vaa6faQ.jpg!web

Yr6Vzie.png!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK