弄完iOS热更新实现方式,空闲时间想去弄弄Android的热更新,寻找一些资料后暂时得出以下热更新方法。尝试几中方式后个人觉得还是微信的Tinker好用些。
根据微信的Tinker我自己写了一个demo:https://github.com/tikeyc/TTinkerPatchDemo
一、Tinker
http://tinkerpatch.com/
https://github.com/Tencent/tinker
https://github.com/Tencent/tinker/wiki
别人写的微信tinker补丁管理,后端代码+客户端sdk Demo: https://github.com/baidao/tinker-manager
Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,
让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。
它主要包括以下几个部分:
1. gradle编译插件: tinker-patch-gradle-plugin
2. 核心sdk库:tinker-android-lib
3. 非gradle编译用户的命令行版本: tinker-patch-cli.jar
二、阿里巴巴
alibaba.pngSophix
https://help.aliyun.com/document_detail/51415.html?spm=5176.doc53240.6.539.wp6wGV
移动热修复(Mobile Hotfix)是阿里云提供的全平台App热修复服务方案。
产品基于阿里巴巴首创hotpatch技术,提供最细粒度热修复能力,让您无需等待实时修复应用线上问题。
1.紧急修复线上问题。
2.快速发布新鲜功能。
阿里百川Hotfix
已经迁移至阿里云Sophix 请直接使用上面的阿里云的Sophix
http://baichuan.taobao.com/portal/newDocIndex.htm?spm=a3c0d.7662652.1998907816.24.lqaHGj
AndFix
https://github.com/alibaba/AndFix
使用教程:http://www.jianshu.com/p/907a2c599996
全称Android hot-fix,是alibaba的Android热修复框架
支持Android 2.3到6.0的版本,支持arm与X86系统架构,支持Dalvik和ART Runtime。
AndFix的原理就是方法的替换,把有bug的方法替换成补丁文件中的方法
三、Amigo
https://github.com/eleme/Amigo
https://github.com/eleme/Amigo/blob/master/README_zh.md#amigo
一个Android 平台的hotfix 库, 支持热更新,支持热修复
支持所有设备,从 ECLAIR 2.1 to Nougat 7.1
甚至可以支持下个Android release的版本, 不管改动是否很大。
不支持Android 3.0
hotfix_list.jpg
网友评论