[发明专利]热修复方法、装置、设备及计算机可读存储介质有效
| 申请号: | 201910580421.9 | 申请日: | 2019-06-28 |
| 公开(公告)号: | CN110321135B | 公开(公告)日: | 2023-04-11 |
| 发明(设计)人: | 张迪;尚会波;许多凯;支剑锟 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
| 主分类号: | G06F8/61 | 分类号: | G06F8/61;G06F8/656 |
| 代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 朱颖;刘芳 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 修复 方法 装置 设备 计算机 可读 存储 介质 | ||
1.一种热修复方法,其特征在于,包括:
程序运行时,调用一入口类覆写的框架层中最下层的类中的方法;
根据覆写后的方法获取拦截器信息,并根据所述拦截器信息确定是否设置有拦截器;
若是,则通过一调用实例执行所述入口类中包括的补丁逻辑,所述调用实例对应的类继承框架层中最下层的类;
其中,所述入口类继承所述框架层中最下层的类,所述程序中的最顶层类继承所述入口类。
2.根据权利要求1所述的热修复方法,其特征在于,所述框架层中最下层的类包括以下任意一种:
活动、服务、广播接受者、内容提供者。
3.根据权利要求1所述的热修复方法,其特征在于,还包括:
接收一补丁包,并根据所述补丁包生成包括补丁逻辑的补丁实例,将所述补丁实例的标识写入所述入口类的预设变量中。
4.根据权利要求3所述的热修复方法,其特征在于,在接收所述补丁包后,还包括:
根据所述补丁包生成一拦截器实例,并设置拦截器参数为预设值;
所述根据覆写后的方法获取拦截器信息,包括:
根据覆写后的方法获取所述拦截器参数;
所述根据所述拦截器信息确定是否设置有拦截器,包括:
若所述拦截器参数是所述预设值,则确定设置有所述拦截器。
5.根据权利要求4所述的热修复方法,其特征在于,若所述拦截器参数不是所述预设值,则执行所述程序的原有逻辑。
6.根据权利要求3所述的热修复方法,其特征在于,还包括:
接收所述补丁包后,根据所述补丁包生成所述调用实例。
7.根据权利要求1所述的热修复方法,其特征在于,接收所述程序对应的安装包,根据所述安装包安装包括所述入口类的所述程序,以使所述入口类覆写所述框架层中最下层的类中的方法。
8.一种热修复装置,其特征在于,包括:
调用模块,用于在程序运行时,调用一入口类覆写的框架层中最下层的类中的方法;
确定模块,用于根据覆写后的方法获取拦截器信息,并根据所述拦截器信息确定是否设置有拦截器;
若是,则执行模块通过一调用实例执行所述入口类中包括的补丁逻辑,所述调用实例对应的调用类继承框架层中最下层的类;其中,所述入口类继承所述框架层中最下层的类,所述程序中的最顶层类继承所述入口类。
9.根据权利要求8所述的热修复装置,其特征在于,所述框架层中最下层的类包括以下任意一种:
活动、服务、广播接受者、内容提供者。
10.根据权利要求8所述的热修复装置,其特征在于,还包括:
接收模块,用于接收一补丁包;
实例化模块,用于根据所述补丁包生成包括补丁逻辑的补丁实例,将所述补丁实例的标识写入所述入口类的预设变量中。
11.根据权利要求10所述的热修复装置,其特征在于,所述实例化模块在所述接收模块接收所述补丁包后,还用于根据所述补丁包生成一拦截器实例,并设置拦截器参数为预设值;
所述调用模块具体用于:
根据覆写后的方法获取所述拦截器参数;
所述确定模块具体用于:
若所述拦截器参数是所述预设值,则确定设置有所述补丁包。
12.根据权利要求11所述的热修复装置,其特征在于,若所述拦截器参数不是所述预设值,则所述执行模块执行所述程序的原有逻辑。
13.根据权利要求10所述的热修复装置,其特征在于,所述实例化模块在所述接收模块接收所述补丁包后,还用于根据所述补丁包生成所述调用实例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910580421.9/1.html,转载请声明来源钻瓜专利网。





