移动终端及应用修复方法技术

技术编号:16152574 阅读:28 留言:0更新日期:2017-09-06 18:08
本发明专利技术公开了一种移动终端,包括:获取模块,用于在待修复应用启动时,获取待修复应用的补丁包,并识别获取到的补丁包的类型;修复模块,用于在补丁包为第一类补丁包,且待修复应用需要调用错误方法时,调用预设钩子函数,使待修复应用调用第一类补丁包中修复后的正确方法;还用于在补丁包为第二类补丁包时,获取待修复应用的各可执行文件的第一数组,以及获取第二类补丁包携带的可执行文件的第二数组,将第一数组与第二数组合并为一个数组,并将第二类补丁包携带的可执行文件作为合并后数组的第一个可执行文件,其中,可执行文件携带待修复应用的错误类修复后的正确类。本发明专利技术还公开了一种应用修复方法。本发明专利技术能够实现应用的高效修复。

【技术实现步骤摘要】
移动终端及应用修复方法
本专利技术涉及移动终端
,具体涉及一种移动终端及应用修复方法。
技术介绍
当一个应用发布之后,突然发现一个严重问题需要紧急修复时,按照常规的做法:应用开发商需要对该应用进行修复,重新打包应用,对应用包进行测试,并在测试通过后向各个应用市场和渠道换包,提示用户升级,提示用户下载修复后的应用包,然后对已安装出现问题的应用进行覆盖安装。然而,当解决这个问题所需要修改的代码量很小时,也同样要付出巨大的成本进行换包和重新发布。而且,当应用开发商发布修复问题之后的升级应用包后,用户也不一定会马上升级到新版本的应用。可以看出,现有技术中存在应用修复效率较低的问题。
技术实现思路
本专利技术提供一种移动终端及应用修复方法,旨在提高应用的修复效率。为实现上述专利技术目的,本专利技术提供一种移动终端,应用于移动终端,该移动终端包括:获取模块,用于在待修复应用启动时,获取所述待修复应用的补丁包,并识别获取到的补丁包的类型;修复模块,用于在所述补丁包为第一类补丁包,且所述待修复应用需要调用错误方法时,调用预设钩子函数,使所述待修复应用调用所述第一类补丁包中修复后的正确方法;还用于在所述补丁包为第二类补丁包时,获取所述待修复应用的各可执行文件的第一数组,以及获取所述第二类补丁包携带的可执行文件的第二数组,将所述第一数组与所述第二数组合并为一个数组,并将所述第二类补丁包携带的可执行文件作为合并后数组的第一个可执行文件,其中,所述可执行文件携带所述待修复应用的错误类修复后的正确类。可选地,所述获取模块还用于在获取到所述待修复应用的补丁包时,对获取的所述补丁包进行安全校验;还用于在安全校验通过后,识别获取到的所述补丁包的类型。可选地,所述获取模块还用于采用约定的消息摘要算法计算所述补丁包携带的可执行文件的消息摘要;还用于将计算得到的消息摘要与所述补丁包携带的消息摘要进行比对,其中,在二者比对一致时,确定所述补丁包通过安全校验。可选地,所述获取模块还用于发送补丁包获取请求至预设服务器,所述补丁包获取请求包括所述待修复应用的版本信息以及已安装补丁包的版本信息;还用于接收所述预设服务器基于所述补丁包获取请求返回的对应所述待修复应用的最新版本的补丁包。可选地,所述修复模块还用于在侦测到所述待修复应用运行错误时,确定所述待修复应用发生错误的错误代码段,其中,所述错误代码段包括发生错误的类和发生错误的方法中的至少一种;还用于将确定的错误代码段上传至所述预设服务器。此外,为实现上述专利技术目的,本专利技术还提供一种应用修复方法,应用于移动终端,该应用修复方法包括:在待修复应用启动时,获取所述待修复应用的补丁包,并识别获取到的补丁包的类型;在所述补丁包为第一类补丁包,且所述待修复应用需要调用错误方法时,调用预设钩子函数,使所述待修复应用调用所述第一类补丁包中修复后的正确方法;在所述补丁包为第二类补丁包时,获取所述待修复应用的各可执行文件的第一数组,以及获取所述第二类补丁包携带的可执行文件的第二数组,将所述第一数组与所述第二数组合并为一个数组,并将所述第二类补丁包携带的可执行文件作为合并后数组的第一个可执行文件,其中,所述可执行文件携带所述待修复应用的错误类修复后的正确类。可选地,所述识别获取到的补丁包的类型的步骤之前,还包括:在获取到所述待修复应用的补丁包时,对获取的所述补丁包进行安全校验;在安全校验通过后,识别获取到的所述补丁包的类型。可选地,所述对获取的所述补丁包进行安全校验的步骤包括:采用约定的消息摘要算法计算所述补丁包携带的可执行文件的消息摘要;将计算得到的消息摘要与所述补丁包携带的消息摘要进行比对,其中,在二者比对一致时,确定所述补丁包通过安全校验。可选地,所述获取对应所述待修复应用的补丁包的步骤包括:发送补丁包获取请求至预设服务器,所述补丁包获取请求包括所述待修复应用的版本信息以及已安装补丁包的版本信息;接收所述预设服务器基于所述补丁包获取请求返回的对应所述待修复应用的最新版本的补丁包。可选地,所述在所述移动终端启动待修复应用时,获取对应所述待修复应用的补丁包的步骤之前,还包括:在侦测到所述待修复应用运行错误时,确定所述待修复应用发生错误的错误代码段,其中,所述错误代码段包括发生错误的类和发生错误的方法中的至少一种;将确定的错误代码段上传至所述预设服务器。本专利技术提出的移动终端及应用修复方法,通过在待修复应用启动时,获取到对应待修复应用的补丁包,根据获取到补丁包的类型,采用与补丁包类型适配的热修复方案对待修复应用进行热修复,避免了现有技术在应用运行错误时需要安装新版本的应用才能修复错误,又不会中断用户使用应用,实现了应用的高效修复。附图说明图1为实现本专利技术各个实施例的一个可选地移动终端的硬件结构示意图;图2为本专利技术移动终端第一实施例的模块示意图;图3为本专利技术移动终端第一实施例中待修复应用以及补丁包的结构示意图;图4为本专利技术移动终端第一实施例中的补丁包描述文件的示例图;图5为本专利技术移动终端第一实施例中第一数组的结构示意图;图6为本专利技术移动终端第一实施例中第二数组的结构示意图;图7为本专利技术移动终端第一实施例中合并后数组的结构示意图;图8为本专利技术移动终端第一实施例中类替换的实现原理示意图;图9为本专利技术移动终端第一实施例中的预设钩子函数的实现原理示意图;图10为本专利技术移动终端第三实施例中应用热修复架构示意图;图11为本专利技术移动终端第三实施例中一种修复错误代码段的示意图;图12为本专利技术移动终端第三实施例中另一种修复错误代码段的示意图;图13本专利技术为本专利技术应用修复方法第一实施例的流程示意图。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互任意结合。现在将参考附图描述实现本专利技术各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。移动终端可以以各种形式来实施。例如,本专利技术中描述的移动终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本专利技术的实施方式的构造也能够应用于固定类型的终端。图1为实现本专利技术各个实施例的一个移动终端的硬件结构示意图。移动终端100可以包括无线通信单元110、A/V(音频/视频)输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括移动通信模块111、无线互联网模块112和短距无线通信模块113中的至少一个。移动通信模块111将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端本文档来自技高网...
移动终端及应用修复方法

【技术保护点】
一种移动终端,其特征在于,该移动终端包括:获取模块,用于在待修复应用启动时,获取所述待修复应用的补丁包,并识别获取到的补丁包的类型;修复模块,用于在所述补丁包为第一类补丁包,且所述待修复应用需要调用错误方法时,调用预设钩子函数,使所述待修复应用调用所述第一类补丁包中修复后的正确方法;还用于在所述补丁包为第二类补丁包时,获取所述待修复应用的各可执行文件的第一数组,以及获取所述第二类补丁包携带的可执行文件的第二数组,将所述第一数组与所述第二数组合并为一个数组,并将所述第二类补丁包携带的可执行文件作为合并后数组的第一个可执行文件,其中,所述可执行文件携带所述待修复应用的错误类修复后的正确类。

【技术特征摘要】
1.一种移动终端,其特征在于,该移动终端包括:获取模块,用于在待修复应用启动时,获取所述待修复应用的补丁包,并识别获取到的补丁包的类型;修复模块,用于在所述补丁包为第一类补丁包,且所述待修复应用需要调用错误方法时,调用预设钩子函数,使所述待修复应用调用所述第一类补丁包中修复后的正确方法;还用于在所述补丁包为第二类补丁包时,获取所述待修复应用的各可执行文件的第一数组,以及获取所述第二类补丁包携带的可执行文件的第二数组,将所述第一数组与所述第二数组合并为一个数组,并将所述第二类补丁包携带的可执行文件作为合并后数组的第一个可执行文件,其中,所述可执行文件携带所述待修复应用的错误类修复后的正确类。2.根据权利要求1所述的移动终端,其特征在于,所述获取模块还用于在获取到所述待修复应用的补丁包时,对获取的所述补丁包进行安全校验;还用于在安全校验通过后,识别获取到的所述补丁包的类型。3.根据权利要求2所述的移动终端,其特征在于,所述获取模块还用于采用约定的消息摘要算法计算所述补丁包携带的可执行文件的消息摘要;还用于将计算得到的消息摘要与所述补丁包携带的消息摘要进行比对,其中,在二者比对一致时,确定所述补丁包通过安全校验。4.根据权利要求1-3任一项所述的移动终端,其特征在于,所述获取模块还用于发送补丁包获取请求至预设服务器,所述补丁包获取请求包括所述待修复应用的版本信息以及已安装补丁包的版本信息;还用于接收所述预设服务器基于所述补丁包获取请求返回的对应所述待修复应用的最新版本的补丁包。5.根据权利要求4所述的移动终端,其特征在于,所述修复模块还用于在侦测到所述待修复应用运行错误时,确定所述待修复应用发生错误的错误代码段,其中,所述错误代码段包括发生错误的类和发生错误的方法中的至少一种;还用于将确定的错误代码段上传至所述预设服务器。6.一种应用修复方法,应用于移动终端,其特征在于,所述应用修复方法包括...

【专利技术属性】
技术研发人员:黄小峰
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1