-
Notifications
You must be signed in to change notification settings - Fork 51
Home
Pengfeng Wang edited this page Aug 18, 2020
·
8 revisions
Welcome to the Stark world!
Stark 是一款全新的Android热修复框架,无需重启应用,即可修复代码和资源。
它主要包含两个模块:
- stark-gradle: Gradle插件,编译时代码注入、代码监控、补丁生成。
- stark-core: 运行时核心库,加载补丁。
- 无需重启应用,即可修复代码,资源。
- 参考Instant Run原理实现,补丁成功率高。
- 零私有api调用,适用于2.x~P。
- 补丁包中只包含需要修复的资源,下发补丁包的体积小。
- 编译时代码注入,适当增加dex体积。
当前市面上的热补丁方案有很多,其中比较出名的有阿里的AndFix、腾讯的tinker、美团的Robust、QZone的超级补丁方案以及阿里尚未开源的Sophix。除了美团的Robust、其他基本上都调用了Android sdk未开放的私有api。遗憾的是,美团的Robust也存在着诸多限制:暂时无法修复构造方法,无法修复资源等等。
Stark | Tinker | QZone | AndFix | Robust | |
---|---|---|---|---|---|
修复代码 | yes | yes | yes | yes | yes |
修复资源 | yes | yes | yes | no | no |
修复so | no | yes | no | no | no |
全平台支持 | yes | yes | yes | yes | yes |
即时生效 | yes | no | no | yes | yes |
性能损耗 | 较小 | 较小 | 较大 | 较小 | 较小 |
补丁包大小 | 较小 | 较小 | 较大 | 一般 | 一般 |
开发透明 | yes | yes | yes | no | no |
复杂度 | 较低 | 较低 | 较低 | 复杂 | 复杂 |
成功率 | 最高 | 较高 | 较高 | 一般 | 最高 |
注:表格中部分数据来自tinker