腾讯开源的零反射全动态 Android 插件化框架
从 2012 年插件化概念被提出,到现在插件化的百花争艳,可以说,插件化技术引领着 Android 技术的进步,所以插件化也是 Android 高级工程师需要掌握的技能之一。
今天推荐的这个项目是腾讯最新开源的:
Shadow
,它是一个腾讯自主研发的 Android 插件框架,经过线上亿级用户量检验。Shadow 不仅开源分享了插件技术的关键代码,还完整的分享了上线部署所需要的所有设计。与市面上其他插件框架相比,Shadow 主要具有以下特点:
- 复用独立安装 App 的源码:插件 App 的源码原本就是可以正常安装运行的。
- 零反射无 Hack 实现插件技术:从理论上就已经确定无需对任何系统做兼容开发,更无任何隐藏 API 调用,和 Google 限制非公开 SDK 接口访问的策略完全不冲突。
- 全动态插件框架:一次性实现完美的插件框架很难,但 Shadow 将这些实现全部动态化起来,使插件框架的代码成为了插件的一部分。插件的迭代不再受宿主打包了旧版本插件框架所限制。
- 宿主增量极小:得益于全动态实现,真正合入宿主程序的代码量极小。
- Kotlin实现:core.loader,core.transform 核心代码完全用 Kotlin 实现,代码简洁易维护。
支持特性:
- 四大组件
- Fragment(代码添加和 Xml 添加)
- DataBinding(无需特别支持,但已验证可正常工作)
- 跨进程使用插件 Service
- 自定义 Theme
- 插件访问宿主类
- So 加载
- 分段加载插件(多 Apk 分别加载或多 Apk 以此依赖加载)
- 一个 Activity 中加载多个 Apk 中的 View
阅读原文下载源码体验一波吧。
开源项目地址:
https://github.com/Tencent/Shadow
开源项目组织:Tencent
推荐阅读:
插件化框架知多少
一款更懂程序员的 Markdown 笔记工具
一个不错的音视频快速处理框架
今天的推荐不知道大家喜欢吗?如果你喜欢,请在文章底部留言和点赞,以表示对我的支持,你们的留言、点赞和转发关注是我持续更新的动力哦!
更多独立开发者赚钱经验分享,请关注公众号:非著名程序员,对话框回复关键字 “1024”,免费领取 30 本经典编程书籍。
相关推荐
fengyeezju 2020-04-26
fengyeezju 2020-04-07
hqulyc 2020-03-05
huavhuahua 2020-09-05
magic00 2020-08-03
风萧萧梦潇 2020-06-14
jiejie 2020-06-02
pengjin 2020-05-14
kururunga 2020-05-07
PrisonJoker 2020-04-16
fengyeezju 2020-02-09
fengyeezju 2020-02-02
Urchindong 2020-01-21
fengyeezju 2020-01-11
绿豆饼 2020-01-05
csdnuuu 2019-12-27