开发中我们会遇到如下的情况:
- 重新发布版本代价太大
- 用户下载安装成本太高
- BUG修复不及时,用户体验太差
热修复就是解决以上问题。使用热修复后可以达到无需重新发版、用户无感知修复、无需下载新的应用的目标,代价小,从而把损失降到最低。此功能目前仅支持Android平台。
进入功能界面
进入Light控制台 > APP,点击列表中的一个APP,进入实时发布的热修复页面,展示APP版本列表以及各版本的最近发布情况。如下图所示:
新增APP版本
点击“添加APP版本”按钮,在弹框中填入要添加的APP版本信息,点击“确定”,即可新增一个APP版本。
表单参数说明
APP版本:填写需要进行修复的APP版本。
删除APP版本
点击需要删除的APP版本的“删除”按钮,弹出删除确认弹框,确认后,该版本将被删除。删除版本前,需保证该版本下没有正在发布的任务。
发布
点击需要发布的APP版本的“发布”按钮,进入发布页面。如下图所示:
添加补丁包
点击发布页面上的“添加补丁包”按钮,在弹框中填入补丁包的信息,填写完成后点击“确定”。需要注意的是:上传新的补丁包后,该APP版本下的所有历史补丁包将不可再进行发布。
表单参数说明
补丁包:补丁文件,仅支持jar格式,且不能超过5M。
版本号:补丁版本号,默认为上一版本+1。
补丁描述:补丁描述,描述该补丁主要修复的问题,可不填。
回滚
热修复提供发布回滚功能,用户发布过版本后,可选择回滚到基线版本或补丁版本。
回滚到补丁版本:只能回滚到已正式发布过的补丁。回滚后会在补丁包列表中新增一条记录,并创建正式发布任务,历史补丁包任务全部停止。
回滚到基线版本:将清除所有的历史补丁,清除后不可恢复。
补丁发布
点击补丁包列表右侧对应的“发布”按钮,即可完成补丁包的发布。一个补丁包只能同时进行一个任务。若要创建新的任务,必须先停止正在发布中的任务。
注意:发布类型选择“正式发布”时,历史所有发布任务都将被停止,且不可再对此补丁包进行灰度发布。
生成补丁包
使用补丁包生成工具,对比原apk文件和修复后的新apk文件,可生成出补丁包。
使用方法:
- 在文件夹中放置apkpatch-1.0.0.jar、old.apk、new.apk、hotfix_config.xml和签名文件xxxx.keystore;
- 设置hotfix_config.xml内容:
|
- 使用cmd工具执行:
java -jar apkpatch-1.0.0.jar -old old.apk -new new.apk -config hotfix_config.xml -out output
- 执行后,会生成output文件夹,里面的xxxx.jar文件为补丁包。
注意:apk请先集成hotfixgmu组件!