[发明专利]一种安卓系统中基于类文件加载补丁的方法有效
申请号: | 201710497339.0 | 申请日: | 2017-06-26 |
公开(公告)号: | CN107329783B | 公开(公告)日: | 2020-04-10 |
发明(设计)人: | 纪琦华;蒲珂;曾泽基;李哲山;赵永超;胡彬;方宏;蔡忠善 | 申请(专利权)人: | 中广热点云科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京爱普纳杰专利代理事务所(特殊普通合伙) 11419 | 代理人: | 王玉松;怀春颖 |
地址: | 100081 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 系统 基于 文件 加载 补丁 方法 | ||
1.一种安卓系统中基于类文件加载补丁的方法,其特征在于,所述方法包括如下步骤:
S1:获取补丁包;
S2:获取待补丁类所在的第一dex文件,将第一dex文件中的待补丁类做上标记;
S3:对步骤S2找到的第一dex文件进行分包处理,获得由与待补丁类相关的类组成的第二dex文件和由第一dex文件内其他类组成的第三dex文件;
S4:将补丁包通过类加载器加载成补丁类并插入到步骤S3获得的第二dex文件内组成第四dex文件,将第四dex文件内的类通过反射方式赋值回第三dex文件;
S5:将步骤S4赋值后的第三dex文件内且带有标记的待补丁类与其邻近的上一类之间插入一跳转指令,该跳转指令指向第三dex文件内的补丁类。
2.如权利要求1所述的安卓系统中基于类文件加载补丁的方法,其特征在于,所述方法还包括:
S6:时刻接收推送服务器推送的静默消息,该静默消息包括该应用程序最新补丁版本的补丁参数,所述补丁参数包括补丁唯一标识符;
S7:将步骤S6获得的补丁唯一标识符对应的补丁数据与步骤S1获得的补丁包的补丁数据进行比对,比对一致,进行步骤S2-S5。
3.如权利要求2所述的安卓系统中基于类文件加载补丁的方法,其特征在于,所述方法还包括:
S8:当步骤S7比对不一致,判断步骤S6获得的补丁唯一标识符对应的补丁数据是否为步骤S1获得补丁包内补丁数据的更新数据,如果是,进行步骤S9,如果不是,重新获取步骤S6获得的补丁唯一标识符对应的补丁包,进行步骤S2-S4后,再进行步骤S11;
S9:计算步骤S6获得的补丁唯一标识符对应的补丁包与步骤S1获得的补丁包的补丁差量包;
S10:将补丁差量包与补丁差量包阈值进行比对,当补丁差量包不大于补丁差量包阈值时,进行步骤S2-S5,当补丁差量包大于补丁差量包阈值时,重新获取步骤S6获得的补丁唯一标识符对应的补丁包,进行步骤S2-S4后,再进行步骤S11;
S11:将步骤S4经过赋值处理的第三dex文件内每一相邻的类之间均插入一长跳转指令。
4.如权利要求3所述的安卓系统中基于类文件加载补丁的方法,其特征在于,所述方法还包括:
S12:判断长跳转指令后一类是否为待补丁类,如果不是,进行步骤S13,如果是,进行步骤S14;
S13:该长跳转指令=空;
S14:该长跳转指令指向后一类对应的补正类。
5.如权利要求1所述的安卓系统中基于类文件加载补丁的方法,其特征在于,在进行步骤S1之前先进行如下步骤:
S0:判断所述应用程序是否第一次在所述客户端上运行,如果是,进行步骤S01:
S01:判断所述客户端本地是否存储有该应用程序的补丁包,如果有,将应用程序内的补丁包进行步骤S2-5,如果没有,进行步骤S1-S5。
6.如权利要求5所述的安卓系统中基于类文件加载补丁的方法,其特征在于,所述方法还包括:
S02:当步骤S0判断不是,统计该应用程序发布的补丁版本个数G,并与所述客户端更新该应用程序补丁版本次数G1进行比较,如果3/5G<G1≤G,进行步骤S1-5,如果G1≤3/5G,进行步骤S03;
S03:根据补丁包权重值判断是否获取补丁包。
7.如权利要求6所述的安卓系统中基于类文件加载补丁的方法,其特征在于,步骤S03包括:
S31:通过如下公式计算应用程序发布的最新补丁版本权重值和客户端加载的最新补丁版本权重值的比值W
W=aX+b△T+cY
a、b、c表示系数,取值为0-1,X=应用程序发布的最新补丁版本对应的补丁包与客户端加载的最新补丁版本对应的补丁包的差量包,△T=以客户端加载的最新补丁版本对应的补丁包开始到完成应用程序发布的最新补丁版本对应的补丁包所用时间;Y=应用程序发布的最新补丁版本对应的严重性与客户端加载的最新补丁版本对应的严重性的比值;
S32:将步骤S31计算得到的比值W与比值阈值W1进行比对,当W≥W1,进行步骤S1,当W<W1,进行步骤S04;
S04:不获取补丁包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中广热点云科技有限公司,未经中广热点云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710497339.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种带有伽马测量功能的近钻头测量仪器
- 下一篇:固件升级方法和分布式多层系统