全部产品
云市场

用户指南

更新时间:2018-09-06 17:06:44

移动热修复提供的热修复能力,让您对应用程序的控制更加自由。

您可以使用HotFix:

  • 紧急修复线上问题。
  • 快速发布新鲜功能。

一、产品优势

当前市面的热修复方案有很多,与众多的开源项目或者半开源项目相比,我们不仅有AndFixWax开源项目团队成员的支持;

同时还在其原有基础上对打包、调试工具、补丁版本管理等、安全性上做了升级;更重要的是,结合最新的研究成果,突破了原有开源项目的诸多限制,我们能做到类修复、资源修复、so文件修复的实时生效。

并且,移动热修复是一个有着多人团队支持并维护的产品,可提供您满意的服务。

  • 热修复方案比较
平台 阿里云移动热修复 A** T** Q** R**
即时生效 yes yes no no yes
性能损耗 较小 较小 较大 较大 较小
侵入式打包 无侵入式打包 无侵入式打包 依赖侵入式打包 依赖侵入式打包 依赖侵入式打包
Rom体积 较小 较小 较大 较小 较小
接入复杂度 傻瓜式接入 比较简单 复杂 比较简单 复杂
补丁包大小 较小 较小 较小 较大 一般
全平台支持 yes yes yes yes yes
类替换 yes yes yes yes no
so替换 yes no yes no no
资源替换 yes no yes yes no

(详情可参考:Android热修复技术选型——三大流派解析

HotFix总体来说最大的优势在于:

  • 补丁即时生效,不需要应用重启;
  • 补丁包同样采用差量技术,生成的PATCH体积小;
  • 对应用无侵入,几乎无性能损耗;
  • 傻瓜式接入。

二、使用引导

2.1 找到移动研发平台入口

在阿里云官网,找到:移动研发平台,点击后,进入到移动研发平台官网详情页面。

移动研发平台(Enterprise Mobile Application Studio,简称EMAS),是阿里巴巴近十年移动互联网研发体系的具象化载体,旨在帮助企业快速搭建一整套移动研发平台,提升研发协同效率。EMAS会逐步输出各种解决方案,包括全研发链路的质量管理方案、持续交付解决方案等。

如下图所示(www.aliyun.com,点击产品,展开产品大盘):emas_portal


点击后,进入到移动研发平台(Enterprise Mobile Application Studio,简称EMAS)官网详情页面,如下图所示:

emas官网

如果没有开通服务,点击“立即开通”,如果已经开通,点击“管理控制台”按钮,进入到控制台页面。

2.2 进入管理控制台

点击“管理控制台”按钮,进入控制台console-1

控制台页面如下:console2

2.3 点击产品,进入到单产品服务目录页面

进入到产品所包含应用列表页面后,左侧会显示所有的服务内容,包括移动热修复:热修复-控制台

2.4 获取SDK配置信息

您可以在应用管理页面获取配置SDK所需要的基本信息。包括:

  • AppKey:用于AppKey是阿里云上应用的唯一标识,热修复的appId可设置AppKey。
  • RSA密钥: RSA密钥是保存在客户端本地用于解密patch包过程中使用的解密密钥。(推荐使用chrome浏览器下载)
  • AppSecret:用于URL请求时生成合法验签标识的key。

配置信息

2.5 创建版本

功能页面,可以创建应用版本,该版本跟基线包初始化时setAppVersion所传的版本号对应。setAppVersion可传自定义的字符串等,也可传应用本身的versionName,主要是方便管理。(推荐使用chrome浏览器)

热修复-22

2.6 上传补丁

补丁步骤1


补丁添加2

补丁文件名称规范:

补丁状态:

  • 等待中:补丁上传成功,等待操作。
  • 已灰度:补丁正在进行部分设备灰度发布中。
  • 已发布:补丁已全量发布至所有设备。
  • 已停止:补丁发布行为已暂停,服务端停止下发补丁,客户端已经下载的补丁继续生效。


2.7 发布补丁

HotFix提供了多种发布方式,方便您根据自身业务需要选择性使用。

  • 上传补丁后,会展示补丁列表信息,点击“详情”,进入发布页面patch_details

  • 进入详情页面,点击“新建发布”,进入发布流程新建发布


2.7.1 本地测试

HotFix提供了调试工具实现本地测试,方便您在正式发布前,在您的手机本地进行测试。步骤如下:


2.7.2 灰度发布

HotFix提供灰度发布模式,您可以在控制台设置灰度设备数,客户端拉取补丁会消耗该设备数,达到灰度设备数后,灰度补丁自动置为停止状态。

  • 设备数:指设备请求更新该补丁的次数,并不等于绝对设备数。

例如:1个设备请求了2次更新该补丁,则会消耗掉2个设备数。

灰度后可以根据自身需要停止本次灰度发布,停止后可以选择:

  • 重设灰度发布规则,新的规则中设备数必须大于之前的值。
  • 改为全量发布。
  • 回滚版本(如果存在历史版本)见 2.9 发布回滚

2.7.3 全量发布

HotFix提供全量发布模式,选择全量发布后,将对所有安装了当前应用版本(即之前创建应用时所填写的应用版本号)的设备推送该补丁。

与灰度发布类似,在全量发布会可以根据自身需要停止本次全量发布,停止发布后可以选择:

  • 继续全量发布。
  • 回滚版本(如果存在历史版本),见2.9 发布回滚


2.8 停止发布

HotFix提供停止发布功能,用户选择停止发布后,系统将停止该补丁的继续发布,但已加载该补丁的设备会依然保持安装该补丁的状态。


2.9 发布回滚

HotFix提供发布回滚功能,用户选择回滚的目标补丁后,所有该应用版本下的设备都会回滚到目标补丁的版本。

使用回滚功能必需要具备一下几个条件:

  • 当前的版本已停止发布。
  • 该版本之前存在至少一个全量发布的历史版本。


3.0 继续发布

HotFix提供继续发布功能,用户选择继续发布后,将可以重新设置发布规则。

如果当前版本在停止前处于灰度中,继续发布可以:

  • 重设灰度发布规则,新的规则中设备数必须大于之前的值。
  • 改为全量发布。

如果当前版本在停止如果处于全量发布,继续发布可以:

  • 继续全量发布。


3.1 数据统计

HotFix目前提供两种数据信息。

  • 成功推送设备数:每当有设备发起一次更新请求,且补丁下载成功,则记为一次成功推送。
  • 累计加载设备数:每当有设备成功加载该补丁,则记为一次累计加载。

注:

后台数据统计可能有少许延迟。


3.2 添加过滤机型

HotFix提供可视化的管理后台,进行发布补丁的过滤机型操作。

操作逻辑是:

补丁管理页面上传补丁 -> 在过滤机型页面添加针对该补丁的过滤机型 -> 进入补丁详情页面进行发布

本文档主要介绍过滤机型使用的过滤参数。

添加过滤机型

待patch


3.2.1 应用版本

选择您发布补丁对应的APP版本。

3.2.2 选择补丁

选择APP版本后,可能您在该APP下上传了多个补丁,您可以在这里选择您需要添加过滤机型的补丁。

filter_add_patch

3.2.3 系统版本

系统版本是指手机所使用的OS的版本。

在控制台中,有相应的系统版本列表可供选择。如果列表中没有需要自定义,请按如下标准获取系统版本。

  1. android.os.Build.VERSION.RELEASE

例如系统版本结果是:9.0.1

系统版本1


3.2.4 手机品牌

手机品牌是指手机贴牌商标代表的品牌,需要区别手机制造商,手机制造商可能会生产多个品牌,一个品牌也可能是多个制造商生产。

在控制台中,我们有相应的品牌列表供选择使用。如果需要自定义,请按如下标准获取手机品牌,注意实际过滤时不区分大小写。

  1. android.os.Build.BRAND

例如手机品牌是:OPPO

手机的品牌


3.2.5 手机机型

手机机型是指某个手机品牌下手机具体的型号。

目前由于手机机型庞杂,没有提供选择列表供选择,后续会支持。填写手机机型时请按如下标准,不区分大小写。

  1. android.os.Build.MODEL

例如手机型号是:OPPO R11

【注意】如果想设置全部机型,请在自定义机型里面,输入: all

如:

filter_all_model


3.3 补丁一键清除

HotFix提供补丁一键清除功能。开发者可以对指定应用版本下面的所有补丁进行一键清除操作。

一键清除

开发者操作一键清除后,app用户在下一次打开应用时,HotFix SDK将清除本地所有补丁,回滚至该应用版本的无补丁状态!请谨慎操作。

开发者操作一键清除后,管理后台的历史补丁将处于已删除状态,开发者不可再对补丁执行除浏览外的任何操作。

3.4 过滤某个系统版本的全部机型

  • 例如:如果您的补丁patch会8.1.0的系统上启动崩溃,设置过滤的方法如下:

补丁过滤

  1. - 应用版本:选择你patchapp版本
  2. - 补丁版本:选择你发布的那个补丁
  3. - 系统版本:选择8.1.x
  4. - 手机品牌: all
  5. - 手机型号: all