Skip to content
Pengfeng Wang edited this page Aug 18, 2020 · 8 revisions

Welcome to the Stark world!

Stark 是一款全新的Android热修复框架,无需重启应用,即可修复代码和资源。

它主要包含两个模块:

  1. stark-gradle: Gradle插件,编译时代码注入、代码监控、补丁生成。
  2. stark-core: 运行时核心库,加载补丁。

优点

  1. 无需重启应用,即可修复代码,资源。
  2. 参考Instant Run原理实现,补丁成功率高。
  3. 零私有api调用,适用于2.x~P。
  4. 补丁包中只包含需要修复的资源,下发补丁包的体积小。

缺点

  • 编译时代码注入,适当增加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

Clone this wiki locally