[发明专利]客户端补丁修复方法、装置和系统有效
申请号: | 201710384640.0 | 申请日: | 2017-05-26 |
公开(公告)号: | CN107368330B | 公开(公告)日: | 2020-06-30 |
发明(设计)人: | 李记锋 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 黄熊 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 客户端 补丁 修复 方法 装置 系统 | ||
本申请实施例公开一种客户端补丁修复方法、装置和系统,该方法包括:在安装客户端的补丁包时,将补丁包中的修复类对应的文件存储在第一存储路径中,并将该修复类在该客户端的类加载列表中的加载顺序排在该修复类对应的被修复类前面,其中,第一存储路径不同于该修复类对应的被修复类的第二存储路径;监控该客户端的运行状态;如果监控到该客户端发生闪退,则获取该客户端的闪退堆栈信息;如果该闪退堆栈信息中携带该补丁包的修复类中的第一修复类的信息,则将第一修复类从该类加载列表中删除。本申请实施例的方法能够及时修复补丁包导致的客户端闪退问题。
技术领域
本申请涉及计算机软件技术领域,尤其涉及一种客户端补丁修复方法、装置和系统。
背景技术
目前业界存在各种Android Dex热修复方案,可以在用户无感知的情况下,动态推送补丁包来实现代码修复。其原理是利用Android的类加载机制,通过类加载器加载补丁包的classs.dex来实现应用的热修复。
但是,在现有的热修复方案,经常会遇到运行的补丁包classs.dex在部分机型上发生闪退的问题。当监控平台监测到补丁包导致的闪退情况后,还需要通知开发人员,由开发人员推送针对补丁包的回滚指令,以删除客户端运行的补丁包,并恢复到原始状态。在客户端接收到回滚指令之前,闪退问题始终存在,用户体验较差。
发明内容
本申请实施例的目的是提供一种客户端补丁修复方法、装置和系统,能够及时响应补丁包导致的客户端闪退问题,修复客户端,为用户提供更好的体验。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提供了一种客户端补丁修复方法,包括:
在安装客户端的补丁包时,将补丁包中的修复类对应的文件存储在第一存储路径中,并将该修复类在该客户端的类加载列表中的加载顺序排在该修复类对应的被修复类前面,其中,第一存储路径不同于该修复类对应的被修复类的第二存储路径;
监控该客户端的运行状态;
如果监控到该客户端发生闪退,则获取该客户端的闪退堆栈信息;
如果该闪退堆栈信息中携带该补丁包的修复类中的第一修复类的信息,则将第一修复类从该类加载列表中删除。
第二方面,提供了一种客户端补丁修复装置,包括:
补丁包安装单元,在安装客户端的补丁包时,将补丁包中的修复类对应的文件存储在第一存储路径中,并将该修复类在该客户端的类加载列表中的加载顺序排在该修复类对应的被修复类前面,其中,第一存储路径不同于该修复类对应的被修复类的第二存储路径;
监控单元,监控该客户端的运行状态;
获取单元,如果监控到该客户端发生闪退,则获取该客户端的闪退堆栈信息;
修复单元,如果该闪退堆栈信息中携带该补丁包的修复类中的第一修复类的信息,则将第一修复类从该类加载列表中删除。
第三方面,提供了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
在安装客户端的补丁包时,将补丁包中的修复类对应的文件存储在第一存储路径中,并将该修复类在该客户端的类加载列表中的加载顺序排在该修复类对应的被修复类前面,其中,第一存储路径不同于该修复类对应的被修复类的第二存储路径;
监控该客户端的运行状态;
如果监控到该客户端发生闪退,则获取该客户端的闪退堆栈信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710384640.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:对芯片进行刷写的方法以及系统
- 下一篇:应用程序的配置文件更新方法和装置