热修复方案概述:
QQ空间热修复方案
RocooFix
Nuwa
HotFix
native hook的方案
AndFix
阿里百川(未开源)
微信热修复方案
Tinker_imitator(微信热更新方案实践)
tinker(微信官方)
手机QQ热修复方案
QFix:推荐文章QFix探索之路——手Q热补丁轻量级方案
上述方案,关于热修复都做了许多详细的介绍,对于眼馋而又不想踩坑的懒癌晚期患者,我们只用现成的。 先不细说,我们看下阿里百川的HotFix方案的使用,感受下热修复的快捷:(以下内容来自阿里百川HotFix官方文档)
阿里百川HotFix简介
阿里百川HotFix是阿里百川旗下全平台App热修复服务方案。产品基于阿里巴巴首创hotpatch技术,提供最细粒度热修复能力。让您无需等待实时修复应用线上问题。
应用场景
阿里百川HotFix提供的热修复能力,让您对应用程序的控制更加自由。 您可以使用HotFix:
紧急修复线上问题。
快速发布新鲜功能。
为什么选择阿里百川HotFix?
方案比较
当前市面的热修复方案有很多,而阿里百川HotFix是其中唯一同时支持Android & iOS端热修复的产品。与众多的开源项目或者半开源项目相比,我们不仅有AndFix、Wax开源项目团队成员的支持;同时还在其原有基础上对打包、调试工具、补丁版本管理等、安全性上做了升级;更重要的是,结合最新的研究成果,突破了原有开源项目的诸多限制,我们能做到类修复、资源修复、so文件修复的实时生效。
自动屏蔽广告 相比而言,阿里百川HotFix是一个有着多人团队支持并维护的产品,我们承诺对于加入钉钉群咨询的客户,保证工作日内15分钟响应,非工作日亦可当天响应的效率,提供您满意的服务。如果您对于产品满意,欢迎推荐给您的朋友,如果有任何建议或意见,也欢迎加入钉钉群和我们联系,或者直接填写问卷给我们留言,您的声音,是我们的动力!
(详情可参考:Android热修复技术选型——三大流派解析)
HotFix总体来说最大的优势在于:
补丁即时生效,不需要应用重启;
补丁包同样采用差量技术,生成的PATCH体积小;
对应用无侵入,几乎无性能损耗;
傻瓜式接入。
>
但是HotFix1.0版本也有美中不足, 比如暂时不支持新增类和资源,so文件的修复等(这些限制均会在一月中的2.0版本全部去掉),但是作为一项定位为线上紧急BUG的热修复的服务来说,能够真正做到BUG即时修复用户无感知,同时保证对应用性能不产生不必要的损耗,在热修复方面不失为一个好的选择。
接入流程&准备工作
接入流程
要完整使用阿里百川HotFix,您需要以下几步操作:(其中前三步为准备工作,见下方文档)
注册阿里百川开发者
创建百川应用
申请产品权限
集成SDK
生成补丁
发布补丁
准备工作(推荐使用Chrome浏览器)
Step1 注册阿里百川开发者
前往注册成为阿里百川开发者
Step2 创建百川应用
如果您已经创建过百川应用,可以直接在指定应用上使用HotFix产品。
如果您尚未创建过百川应用,请前往创建百川应用。
Step3 申请产品权限
您需要在百川开发者控制台申请HotFix产品权限,我们将在1个工作日内完成审批。申请理由请“填写您真实的APP名,说明是否已上应用市场,通过什么渠道了解到百川HotFix。若无APP或还未上线请详细描述具体公司业务。”,审核进度可以加入钉钉群咨询。
选择一个应用
点击“我的产品后台”
选择开通HotFix权限
Android 快速集成
详细操作步骤,请参考官方文档
HotFix管理后台使用说明
此处,手动尴尬,HotFix管理后台地址打开后无响应(Are you Kidding me?)
Step1 创建应用
HotFix会同步您所有的百川应用,并区分操作系统:Android,iOS。
您也可以在HotFix控制台新增一个百川应用。
您一共可以创建iOS应用10个,Android应用10个。
Step2 获取SDK配置信息
您可以在应用管理页面获取配置SDK所需要的基本信息。包括:
AppID:用于AppID是百川上应用的唯一标识RSA密钥: RSA密钥是保存在客户端本地用于解密patch包过程中使用的解密密钥。(推荐使用chrome浏览器下载)App Secret:用于URL请求时生成合法验签标识的key。特别注意:如找不到下图所示页面,请查看本篇文档开头,区分“百川控制台”&“HotFix管理后台”。
Step3 创建版本
您可以在HotFix控制台创建版本。(推荐使用chrome浏览器)
版本号:用户自行输入,版本号是为以.分割的多段数字,如1.0.1。版本号必须与用户App内的appVersion相同。如果不相同将导致补丁发布不成功。Step4 上传补丁文件
在版本详情页面,您可以上传补丁文件。
补丁文件名称规范:
Android:文件名必须为 baichuan-hotfix-patch.jariOS:文件名必须为 *.zip,对于集成1.2.0之前版本的SDK文件名必须为main.js如何生成Android补丁文件:见文档生成Patch补丁
如何生成iOS补丁文件:见文档iOS Patch文件生成
也可以浏览补丁状态。
等待中:补丁上传成功,等待操作。已灰度:补丁正在进行灰度发布。已发布:补丁已全量发布至所有设备。已停止:补丁发布行为已暂停。Step5 发布补丁
HotFix提供了多种发布方式,方便您根据自身业务需要选择性使用。 5.1 本地测试
HotFix提供了调试工具实现本地测试,方便您在正式发布前,在您的手机本地进行测试。 步骤如下:
安装HotFix 调试工具。使用HotFix 调试工具获取补丁。Android调试工具使用说明iOS调试工具使用说明5.2 灰度发布
HotFix提供灰度发布模式,您可以在控制台设置灰度设备数,系统会将该补丁随机推送至指定数量的设备。其余设备将不会更新该补丁。
设备数:指设备请求更新该补丁的次数,并不等于绝对设备数。例如:1个设备请求了2次更新该补丁,则会消耗掉2的设备数。灰度后可以根据自身需要停止本次灰度发布,停止后可以选择:
重设灰度发布规则,新的规则中设备数必须大于之前的值。改为全量发布。回滚版本(如果存在历史版本)见Step7 发布回滚5.3 全量发布
HotFix提供全量发布模式,选择全量发布后,将对所有安装了当前应用版本(即之前创建应用时所填写的应用版本号)的设备推送该补丁。
与灰度发布类似,在全量发布会可以根据自身需要停止本次全量发布,停止发布后可以选择:
继续全量发布。回滚版本(如果存在历史版本)见Step7 发布回滚Step6 停止发布
HotFix提供停止发布功能,用户选择停止发布后,系统将停止该补丁的继续发布。但已加载该补丁的设备会依然保持安装该补丁的状态。
Step7 发布回滚
HotFix提供发布回滚功能,用户选择回滚的目标补丁后,所有该应用版本下的设备都会回滚到目标补丁的版本。
使用回滚功能必需要具备一下几个条件:
当前的版本已停止发布。该版本之前存在至少一个历史版本。Step8 继续发布
HotFix提供继续发布功能,用户选择继续发布后,将可以重新设置发布规则。
如果当前版本在停止前处于灰度中,继续发布可以:
重设灰度发布规则,新的规则中设备数必须大于之前的值。改为全量发布。如果当前版本在停止如果处于全量发布,继续发布可以:
继续全量发布。Step9 数据统计
HotFix目前提供两种数据信息。
成功推送设备数:每当有设备发起一次更新请求,且补丁下载成功,则记为一次成功推送。累计加载设备数:每当有设备成功加载该补丁,则记为一次累计加载。注:后台数据可能有少许延迟。
Step10 补丁一键清除
HotFix提供补丁一键清除功能。开发者可以对指定应用版本下面的所有补丁进行一键清除操作。
开发者操作一键清除后,app用户在下一次打开应用时,HotFix SDK将清除本地所有补丁,回滚至该应用版本的无补丁状态!请谨慎操作。开发者操作一键清除后,管理后台的历史补丁将处于“已删除”状态,开发者不可再对补丁执行除浏览外的任何操作。为保证一键清除功能可用,请保证iOS SDK版本为1.2.1及以上,Android SDK版本为1.4.0及以上。>
新闻热点
疑难解答