Android热更新实现方式

4,678 阅读1分钟

hotfix.jpg

一、Tinker

tinkerpatch.com/

github.com/Tencent/tin…

github.com/Tencent/tin…

别人写的微信tinker补丁管理,后端代码+客户端sdk Demo: github.com/baidao/tink…

我自己写一个demo:github.com/tikeyc/TTin…

Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,
让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。

它主要包括以下几个部分:
1.  gradle编译插件: tinker-patch-gradle-plugin
2.  核心sdk库:tinker-android-lib
3.  非gradle编译用户的命令行版本: tinker-patch-cli.jar

二、阿里巴巴

alibaba.png

Sophix

help.aliyun.com/document_de…

移动热修复(Mobile Hotfix)是阿里云提供的全平台App热修复服务方案。
产品基于阿里巴巴首创hotpatch技术,提供最细粒度热修复能力,让您无需等待实时修复应用线上问题。
1.紧急修复线上问题。
2.快速发布新鲜功能。
阿里百川Hotfix

已经迁移至阿里云Sophix 请直接使用上面的阿里云的Sophix baichuan.taobao.com/portal/newD…

AndFix

github.com/alibaba/And…

使用教程:www.jianshu.com/p/907a2c599…

全称Android hot-fix,是alibaba的Android热修复框架
支持Android 2.3到6.0的版本,支持arm与X86系统架构,支持Dalvik和ART Runtime。
AndFix的原理就是方法的替换,把有bug的方法替换成补丁文件中的方法

三、Amigo

github.com/eleme/Amigo github.com/eleme/Amigo…

一个Android 平台的hotfix 库, 支持热更新,支持热修复
支持所有设备,从 ECLAIR 2.1 to Nougat 7.1
甚至可以支持下个Android release的版本, 不管改动是否很大。
不支持Android 3.0

hotfix_list.jpg