Android热更新实现方式

hotfix.jpg

1、Tinker

tinkerpatch.com/html

github.com/Tencent/tin…android

github.com/Tencent/tin…git

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

我本身写一个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
复制代码

2、阿里巴巴

alibaba.png

Sophix

help.aliyun.com/document_de…bash

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

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

AndFix

github.com/alibaba/And…markdown

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

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

3、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