[发明专利]应用的热修复装置及方法在审
申请号: | 201710110771.X | 申请日: | 2017-02-27 |
公开(公告)号: | CN106951279A | 公开(公告)日: | 2017-07-14 |
发明(设计)人: | 黄小峰 | 申请(专利权)人: | 努比亚技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;H04M1/725 |
代理公司: | 深圳市世纪恒程知识产权代理事务所44287 | 代理人: | 胡海国 |
地址: | 518057 广东省深圳市南山区高新区北环大道9018*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 修复 装置 方法 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种应用的热修复装置及方法。
背景技术
随着智能设备的发展,智能设备上的软件层出不穷。但是一些软件在使用的过程中可能会出现一些漏洞(bug),例如功能性或逻辑性的错误,如对话框弹出出错、系统执行某功能失败等,这些bug会影响到用户的对软件的正常使用,因此需要及时地进行修复。
目前,在一个应用发布之后,如果发现出现严重的bug需要进行修复,按照常规的做法一般是:重新打包应用、测试、向各个应用市场和渠道推出新的安装包、提示用户升级、用户下载、覆盖安装。这种方式不仅需要各个应用市场及渠道进行安装包的更新,还需要用户进行应用的重新覆盖安装,不仅为用户带来不便,而且成本高且流程过于繁琐。
发明内容
本发明提供一种应用的热修复装置及方法,其主要目的在于解决现有技术中对于应用漏洞的修复成本高且流程过于繁琐的问题。
为实现上述目的,本发明提供一种应用的热修复装置,该应用的热修复装置包括:
获取模块,用于获取待修复的应用当前的应用版本信息,以及所述应用当前的已有补丁版本信息;
下载模块,用于基于所述应用版本信息以及已有补丁版本信息,从服务器下载待修复补丁包;
确定模块,用于根据下载的待修复补丁包以及所述已有补丁版本信息,确定待修复的目标方法;
修复模块,用于在所述应用的运行过程中,基于所述待修复补丁包以及预设的修复框架,对所述目标方法的调用进行拦截并修改处理,以实现对所述应用的修复。
可选地,所述确定模块包括:
解压缩单元,用于对下载的所述待修复补丁包进行解压缩处理,并将解压缩得到的补丁文件存储至所述应用的私有文件夹中;
确定单元,用于基于所述私有文件中的所述补丁文件,以及所述已有补丁版本信息,确定待修复的目标方法。
可选地,所述修复模块包括:
拦截单元,用于在所述应用的运行过程中,对所述应用的系统调用信息进行监测,以在调用所述目标方法之前,在应用的native层对所述目标方法的地址进行拦截;
修改单元,用于基于所述补丁文件以及预设的修复框架,对所述目标方法的执行逻辑进行修改,以实现对所述应用的修复。
可选地,所述下载模块包括:
请求单元,用于根据获取的应用版本信息以及所述已有补丁版本信息向所述应用服务器发送查询请求;
下载单元,用于在接收到所述服务器基于所述查询请求返回的应答信息,并基于所述应答信息判定当前具有与所述应用适配的待修复补丁包时,下载所述待修复补丁包。
可选地,所述应用的热修复装置还包括校验模块和上报模块,其中,
所述校验模块用于:对所述待修复补丁包进行有效性校验;
所述上报模块用于:若校验通过,则向所述服务器上报下载成功的状态信息;
所述确定模块还用于:在所述上报模块向所述服务器上报下载成功的状态信息后,根据下载的待修复补丁包以及所述已有补丁版本信息,确定待修复的目标方法;
所述上报模块还用于:若校验失败,则向所述服务器上报补丁包无效的状态信息。
此外,为实现上述目的,本发明还提供一种应用的热修复方法,该应用的热修复方法包括:
获取待修复的应用当前的应用版本信息,以及所述应用当前的已有补丁版本信息;
基于所述应用版本信息以及已有补丁版本信息,从服务器下载待修复补丁包;
根据下载的待修复补丁包以及所述已有补丁版本信息,确定待修复的目标方法;
在所述应用的运行过程中,基于所述待修复补丁包以及预设的修复框架,对所述目标方法的调用进行拦截并修改处理,以实现对所述应用的修复。
可选地,所述根据下载的待修复补丁包以及所述已有补丁版本信息,确定待修复的目标方法的步骤包括:
对下载的所述待修复补丁包进行解压缩处理,并将解压缩得到的补丁文件存储至所述应用的私有文件夹中;
基于所述私有文件中的所述补丁文件,以及所述已有补丁版本信息,确定待修复的目标方法。
可选地,所述在所述应用的运行过程中,基于所述待修复补丁包以及预设的修复框架,对所述目标方法的调用进行拦截并修改处理,以实现对所述应用的修复的步骤包括:
在所述应用的运行过程中,对所述应用的系统调用信息进行监测,以在调用所述目标方法之前,在应用的native层对所述目标方法的地址进行拦截;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于努比亚技术有限公司,未经努比亚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710110771.X/2.html,转载请声明来源钻瓜专利网。