调试补丁

本文介绍补丁调试的两种方式。

概述

调试工具用于补丁正式发布前的调试环节,目前有以下两种测试方式:

  • 扫码二维码方式,将刚刚上传到后台的补丁通过扫描二维码下载到本地,尝试加载补丁。

  • 应用本地补丁方式,传入本地补丁的绝对路径,尝试加载补丁。此方式必须确保Sophix初始化时setEnableDebug为true。出于安全考虑,我们禁止在setEnableDebug为false的包上加载本地补丁,因此setEnableDebug为false的包需要以二维码方式进行验证。

调试方法

  1. 下载调试工具

    单击Android调试工具下载地址,将下载的调试工具安装到您的Android手机上。

  2. 连接测试的应用

    打开手机调试工具,在顶部的编辑框内输入要进行测试的应用包名,确认输入无误后单击连接应用

    说明

    工具与测试的应用建立连接,连接成功后输出应用的信息;aidl方式连接原应用,所以在部分机型上可能导致失败,比如MIUI最新系统上,默认禁用了跨应用aidl,MIUI上可以设置取消这个限制,其它系统类似处理。

  3. 应用补丁

    • 扫描二维码方式

      1. 登录EMAS管理控制台

      2. 查找您的项目,单击项目,默认进入EMAS概览页。

      3. 选择研发工具 > 移动热修复 > 补丁管理

      4. 在打开的补丁管理页面,选择应用版本

      5. 单击版本列表中,待调试补丁右侧的发布,进入补丁发布页面。

      6. 使用手机调试工具单击扫描二维码扫描测试Patch的二维码,向应用发出拉取补丁的请求。

      7. 补丁拉取和加载状态在调试应用界面输出,当显示下载和加载成功,打开应用进行检查。

    • 应用本地补丁方式

      1. 将生成的补丁包存储到已安装调试工具的手机上,可保存在本地存储任何一个目录下。

      2. 打开调试工具,在应用本地补丁按钮上面的输入框中输入补丁在手机存储中的绝对路径,并单击应用本地补丁

      3. 补丁加载状态在调试应用界面输出,当显示下载和加载成功,打开应用进行检查。

  4. 断开连接的应用

    调试完成后,在手机调试工具中单击断开应用连接

  5. 完成调试

    调试无问题后,在上传补丁页签,单击测试通过

调试示例

  1. 使用Android端demo工程集成应用,并安装到手机。

  2. 安装Android调试工具,并打开。

    调试示例

  3. 在调试应用页面上方输入demo应用的包名,单击连接应用,提示连接成功则表示完成。

  4. 应用本地补丁示例

    • 将补丁工具生成的补丁包sophix-patch.jar推送到本地的/sdcard/Download目录, 然后在调试应用中输入该补丁包的绝对路径,单击应用本地补丁

    • Mode:2 表示应用本地补丁模式,Code:1 表示加载成功,HandlePatchVersion:-1 表示本地补丁。

  5. 扫描二维码示例

    • 将补丁工具生成的补丁包sophix-patch.jar上传到hotfix控制台。

    • 单击扫描二维码扫后台补丁二维码。

    • Mode:1 表示扫码模式,Code:12 表示应用当前已经有一个补丁,所以新补丁不会立刻加载需要等下一次重启加载,HandlePatchVersion:89 表示后台拉取下来的补丁版本为89。

  6. 完成调试

    调试无问题后,在上传补丁页签,单击测试通过

状态码说明请参见:常见状态码