一种修复APP线上bug的方法和装置与流程

文档序号:12718746阅读:1369来源:国知局
一种修复APP线上bug的方法和装置与流程

本发明涉及移动终端技术领域,尤其涉及一种修复APP线上bug的方法和装置。



背景技术:

目前市面上发布的App大都会出现线上bug的情况。为了避免等待发布的新版本,通常采用热修复技术来修复线上bug,即在App启动时,下载修复脚本,利用Objective-C的动态特性将线上bug的代码替换掉,确保App正常运行。但是,如果APP的线上bug发生在启动过程中,来不及下载并且加载补丁文件就出现APP崩溃的,导致用户无法使用该APP。因此,需要一种修复APP线上bug的方法和装置,以解决现有技术中存在的上述技术问题。



技术实现要素:

本发明提供一种修复APP线上bug的方法和装置,及时修复APP启动后出现的线上bug,确保APP正常运行。

本发明采用的技术方案是:一种修复APP线上bug的方法,包括:修复设备从移动终端服务器下载补丁文件;所述修复设备将所述补丁文件发送至移动终端;所述移动终端将所述补丁文件存放至主APP指定的指定目录下;在所述主APP启动时,所述主APP根据所述补丁文件修复线上bug。

优选地,所述修复设备从移动终端服务器下载补丁文件,具体包括:所述修复设备安装对应所述主APP的扩展APP;所述扩展APP通过修复设备服务器发送补丁询问请求至所述移动终端服务器,以供所述述移动终端服务器返回所述补丁文件至所述修复设备服务器;所述扩展APP从所述修复设备服务器下载所述补丁文件。

优选地,所述修复设备将所述补丁文件发送至移动终端,具体包括:所述扩展APP通过文件传输协议将所述补丁文件发送至所述主APP对应的本地文件夹内。

优选地,所述补丁文件包括对应日期的补丁ID,所述修复设备从移动终端服务器下载补丁文件,具体包括:基于所述补丁ID,所述修复设备从移动终端服务器下载最新的补丁文件。

优选地,所述主APP根据所述补丁文件修复线上bug,具体包括:所述主APP从所述指定目录下读取所述最新的补丁文件;所述主APP根据所述最新的补丁文件修复所述线上bug。

本发明还提供了一种基于修复设备的修复APP线上bug的装置,包括:修复设备下载模块,用于修复设备从移动终端服务器下载补丁文件;修复设备转发模块,用于所述修复设备将所述补丁文件发送至移动终端;存储模块,用于所述移动终端将所述补丁文件存放至主APP指定的指定目录下;修复模块,用于在所述主APP启动时,所述主APP根据所述补丁文件修复线上bug。

优选地,所述修复设备下载模块,具体用于:所述修复设备安装对应所述主APP的扩展APP;所述扩展APP通过修复设备服务器发送补丁询问请求至所述移动终端服务器,以供所述述移动终端服务器返回所述补丁文件至所述修复设备服务器;所述扩展APP从所述修复设备服务器下载所述补丁文件。

优选地,所述修复设备转发模块,具体用于:所述扩展APP通过文件传输协议将所述补丁文件发送至所述主APP对应的本地文件夹内。

优选地,所述补丁文件包括对应日期的补丁ID,所述修复设备下载模块,具体用于:基于所述补丁ID,所述修复设备从移动终端服务器下载最新的补丁文件。

优选地,所述修复模块,具体用于:所述主APP从所述指定目录下读取所述最新的补丁文件;所述主APP根据所述最新的补丁文件修复所述线上bug。

采用上述技术方案,本发明至少具有下列效果:

本发明的基于修复设备的修复APP线上bug的方法,通过预先将补丁文件下载至移动终端上,在APP启动后顺利获得该补丁文件,避免APP崩溃。

附图说明

图1为本发明第一实施例修复APP线上bug的方法的流程图;

图2为本发明第二实施例修复APP线上bug的方法的流程图;

图3为本发明第四实施例修复APP线上bug的方法的流程图;

图4为本发明第五实施例、第六实施例、第七实施例和第八实施例修复APP线上bug的装置的方框图。

具体实施方式

为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。

需要说明的是,本发明中提到的移动终端可以包括:手机、平板电脑或者智能手表等,修复设备也可以包括:手机、平板电脑或者智能手表等。

本发明提供的修复设备修复APP线上bug的方法,在App没有启动的情况下将补丁文件下载至移动设备上,当APP启动后第一时间获取补丁文件修复线上bug,解决了获取修复脚本之前,APP崩溃的问题。下面将详细地描述本发明修复设备的修复APP线上bug的方法及其各个步骤。

第一实施例

如图1所示,本实施例公开的基于修复设备的修复APP线上bug的方法,包括:步骤S10:修复设备从移动终端服务器下载补丁文件。步骤S20:修复设备将补丁文件发送至移动终端。步骤S30:移动终端将补丁文件存放至主APP指定的指定目录下。以及步骤S40:在主APP启动时,主APP根据补丁文件修复线上bug。

本实施例的修复APP线上bug的方法,利用修复设备下载补丁文件后发送至手机上,手机操作系统在后台激活主APP,主APP将补丁文件保存至手机本地,在主APP下次执行前台启动时获取补丁文件来修复主APP的线上bug,解决了主APP在启动过程中发生崩溃的问题。

第二实施例

如图2所示,在第一实施例的基础上,本实施例的修复APP线上bug的方法中,步骤S10:修复设备从移动终端服务器下载补丁文件,具体包括:步骤S100:修复设备安装对应主APP的扩展APP;步骤S101:扩展APP通过修复设备服务器发送补丁询问请求至移动终端服务器,以供述移动终端服务器返回补丁文件至修复设备服务器;步骤S102:扩展APP从修复设备服务器下载补丁文件。

本实施例的修复APP线上bug的方法中,首先在修复设备上安装了对应主APP的扩展APP,即移动终端和修复设备分别安装了同一款APP,为了区别起见,安装在移动终端上的APP为主APP,安装在修复设备上的APP为扩展APP,两者均是可以独立运行的常规APP,不过唯一不同的是,主APP登陆移动终端服务器,而扩展APP登陆修复设备服务器,其中移动终端服务器与修复设备服务器可以交互。

本实施例的修复APP线上bug的方法可以在主APP启动之前,由扩展APP从修复设备服务器下载补丁文件。

第三实施例

在第二实施例的基础上,本实施例的修复APP线上bug的方法中,步骤S20:修复设备将补丁文件发送至移动终端,具体包括:扩展APP通过文件传输协议将补丁文件发送至主APP对应的本地文件夹内。

例如苹果公司的iPhone和appleWatch可以相互传送文件,尤其是watchOS2.0以后针对同一款App的Watch版本和iPhone版本之间可以通过苹果提供的文件传输协议WatchConnectivity框架进行文件传输。由此第二实施例通过appleWatch的扩展App通过Applewatch服务器从移动终端服务器下载补丁文件,本实施例将该补丁文件发送至移动终端上运行的iPhone操作系统指定的目录下。

实施本实施例的前提条件是iPhone和appleWatch完成配对并保持联通状态,由此iPhone和appleWatch之间可以通过WatchConnectivity框架进行数据的传输。

第四实施例

如图2和图3所示,在第一实施例至第三实施例的基础上,本实施例的修复APP线上bug的方法中,补丁文件包括对应日期的补丁ID,步骤S10:修复设备从移动终端服务器下载补丁文件,具体包括:步骤S104:基于补丁ID,修复设备从移动终端服务器下载最新的补丁文件。

相应地,步骤S40:主APP根据补丁文件修复线上bug,具体包括:步骤S400:主APP从指定目录下读取最新的补丁文件;步骤S401:主APP根据最新的补丁文件修复线上bug。

如图2所示,APP开发人员发现bug后,修正出现bug的代码,把修复代码转换为JS或者lua语言脚本,保存为补丁文件后,将补丁文件上传至主APP对应的移动终端服务器上,同时生成一个对应日期的补丁ID。在用户启动主APP之前,启动AppleWatch上的扩展APP之后,通过AppleWatch服务器向移动终端服务器询问是否有补丁文件,如果有则将补丁ID最新近的最新的补丁返回给扩展APP。扩展APP发现返回的数据中携带最新的补丁文件,则通过WatchConnectivity框架将最新的补丁文件发送至移动终端上的主APP的Documents/Inbox目录下(这是一个临时存放地址)。然后主APP在前台启动时,判断本地Documents/Inbox目录下有没有补丁文件,如果有补丁文件,则将补丁文件先转移到另一个永久保存补丁文件的文件夹下,之后主APP读取该永久保存补丁文件的文件夹下最新的补丁文件,然后把最新的补丁文件中的代码解析出来,利用objective-c的动态性和运行时机制,替换主APP包中旧的错误代码,APP继续顺利执行启动过程,线上bug得以修复,不会crash。

第五实施例

如图4所示,本实施例提供了一种基于修复设备的修复APP线上bug的装置,包括:修复设备下载模块10,用于修复设备从移动终端服务器下载补丁文件;修复设备转发模块20,用于修复设备将补丁文件发送至移动终端;存储模块30,用于移动终端将补丁文件存放至主APP指定的指定目录下;修复模块40,用于在主APP启动时,主APP根据补丁文件修复线上bug。

第六实施例

在第五实施例的基础上,修复设备下载模块10,具体用于:修复设备安装对应主APP的扩展APP;扩展APP通过修复设备服务器发送补丁询问请求至移动终端服务器,以供述移动终端服务器返回补丁文件至修复设备服务器;扩展APP从修复设备服务器下载补丁文件。

第七实施例

在第六实施例的基础上,修复设备转发模块20,具体用于:扩展APP通过文件传输协议将补丁文件发送至主APP对应的本地文件夹内。

第八实施例

在第五实施例的基础上,补丁文件包括对应日期的补丁ID,修复设备下载模块10,具体用于:基于补丁ID,修复设备从移动终端服务器下载最新的补丁文件。

相应地,修复模块40,具体用于:主APP从指定目录下读取最新的补丁文件;主APP根据最新的补丁文件修复线上bug。

通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1