System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件管理,具体涉及一种插件升级的方法和相关装置。
技术介绍
1、目前常规的插件升级做法是将插件apk包(包含dex文件、res文件、asset文件、动态链接库等文件)整体压缩打包下发。但是对于带有动态链接库文件的插件包来说,其包含的动态链接库文件更新频率远远低于插件包中的dex、res等其他文件,即在插件升级时,常常会将不需要更新的动态链接库文件重复下载、解压、安装。另外,对于插件和宿主应用复用同一动态链接库业务模块的场景,插件可以直接使用宿主已安装释放的动态链接库文件,并不需要重复下载。
2、因此,如何降低插件升级时的数据交互量,提高插件的升级效率,为本领域技术人员亟待解决的技术问题之一。
技术实现思路
1、有鉴于此,本专利技术实施例提供一种插件升级的方法和相关装置,以降低插件升级过程中的数据交互量,提高插件升级效率。
2、为实现上述目的,本专利技术实施例提供如下技术方案:
3、一种插件升级的方法,包括:
4、获取目标插件的插件包、动态链接库文件列表中各个动态链接库的下载地址和描述信息,所述动态链接库文件列表内包含所述目标插件所有的动态链接库,所述描述信息至少用于描述所述动态链接库的特征信息,所述插件包中包含有除所述动态链接库之外的其他文件;
5、基于获取到的所述插件包对所述目标插件进行升级;
6、基于所述描述信息判断是否需要更新所述目标插件的动态链接库;
7、当需要更新所述动态链接
8、可选的,上述插件升级的方法中,基于获取到的所述插件包对所述目标插件进行升级之后,还包括:
9、判断宿主app运行升级后的目标插件的过程中是否用到所述目标插件的动态链接库,如果用到,继续执行动作:基于所述描述信息判断是否需要更新所述目标插件的动态链接库,以及后续动作;
10、如果未用到动态链接库,则目标插件升级结束。
11、可选的,上述插件升级的方法中,
12、基于所述描述信息判断是否需要更新所述目标插件的动态链接库;当需要更新所述动态链接库时,基于所需更新的动态链接库的下载地址下载并更新所述动态链接库,包括:
13、获取所述目标插件的插件运行系统,运行所述插件包时所用到的abi指令集;
14、基于所述描述信息获取所述abi指令集中的指令对应的动态链接库的特征信息;
15、基于所述特征信息,判断所述目标插件对应的插件动态链接库存放目录和宿主动态链接库存放目录中,是否包含所述指令集中的指令对应的动态链接库;
16、如果不包含所述指令集中的指令对应的动态链接库,基于所述动态链接库对应的下载地址下载所述动态链接库,并将所述动态链接库存储至所述插件动态链接库目录;
17、将所下载的动态链接库的存储路径注册到所述目标插件的目标路径中;
18、调用目标接口,完成插件动态连接文件库的加载。
19、可选的,上述插件升级的方法中,所述特征信息包括:动态链接库的文件名和md5值,所述描述信息还包括abi指令集,所述abi指令集为运行所述插件包时所用到的指令集。
20、可选的,上述插件升级的方法中,
21、判断所述目标插件对应的插件动态链接库存放目录和宿主动态链接库存放目录中,是否包含所述指令集中的指令对应的动态链接库,包括:
22、基于所述特征信息中的动态链接库的文件名,在与所述插件动态链接库存放目录对应的第一路径中查找,是否存在名称一致动态链接库,如果存在,判断查找到的动态链接库的md5值与所述特征信息中的md5值是否相同,如果相同,表明所述插件动态链接库存放目录包含所述指令集中的指令对应的动态链接库,否则,表明所述插件动态链接库存放目录不包含所述指令集中的指令对应的动态链接库;
23、当所述插件动态链接库存放目录不包含所述指令集中的指令对应的动态链接库时,在与所述宿主动态链接库存放目录对应的第二路径中查找,是否存在名称一致动态链接库,如果存在,判断查找到的动态链接库的md5值与所述特征信息中的md5值是否相同,如果相同,表明所述宿主动态链接库存放目录包含所述指令集中的指令对应的动态链接库,否则,表明所述宿主动态链接库存放目录不包含所述指令集中的指令对应的动态链接库。
24、一种插件升级的装置,包括:
25、插件包升级单元,用于获取目标插件的插件包、动态链接库文件列表中各个动态链接库的下载地址和描述信息,所述动态链接库文件列表内包含所述目标插件所有的动态链接库,所述描述信息至少用于描述所述动态链接库的特征信息,所述插件包中包含有除所述动态链接库之外的其他文件;基于获取到的所述插件包对所述目标插件进行升级;
26、动态链接库升级单元,用于基于所述描述信息判断是否需要更新所述目标插件的动态链接库;当需要更新所述动态链接库时,基于所需更新的动态链接库的下载并更新所述动态链接库。
27、一种电子设备,包括:
28、第一存储器和第一处理器;
29、所述第一存储器,用于存储程序;
30、所述第一处理器,用于执行所述程序,实现上述任一项所述的插件升级的方法的各个步骤。
31、一种插件升级的方法,包括:
32、获取目标插件;
33、将所述目标插件将所述目标插件拆分为插件包、动态链接库文件列表中各个动态链接库的下载地址和描述信息;所述动态链接库文件列表内包含所述目标插件所有的动态链接库,所述描述信息至少用于描述所述动态链接库的特征信息,所述插件包中包含有除所述动态链接库之外的其他文件;
34、当获取到用户终端上传的所述目标插件的升级指令时,将所述插件包下发至所述用户终端;
35、当获取到动态链接库的下载指令时,将所述动态链接库下发至所述用户终端。
36、一种插件升级的装置,包括:
37、插件拆分单元,用于获取目标插件;将所述目标插件将所述目标插件拆分为插件包、动态链接库文件列表中各个动态链接库的下载地址和描述信息;所述动态链接库文件列表内包含所述目标插件所有的动态链接库,所述描述信息至少用于描述所述动态链接库的特征信息,所述插件包中包含有除所述动态链接库之外的其他文件;
38、升级响应单元,用于当获取到用户终端上传的所述目标插件的升级指令时,将所述插件包下发至所述用户终端;当获取到动态链接库的下载指令时,将所述动态链接库下发至所述用户终端。
39、一种服务器,包括:
40、第二存储器和第二处理器;
41、所述第二存储器,用于存储程序;
42、所述第二处理器,用于执行所述程序,实现上述所述的插件升级的方法的各个步骤。
43、基于上述技术方案,本专利技术实施例提供的上述方案,当用户终端的宿主app需要升本文档来自技高网...
【技术保护点】
1.一种插件升级的方法,其特征在于,包括:
2.根据权利要求1所述的插件升级的方法,其特征在于,基于获取到的所述插件包对所述目标插件进行升级之后,还包括:
3.根据权利要求1所述的插件升级的方法,其特征在于,基于所述描述信息判断是否需要更新所述目标插件的动态链接库;当需要更新所述动态链接库时,基于所需更新的动态链接库的下载地址下载并更新所述动态链接库,包括:
4.根据权利要求3所述的插件升级的方法,其特征在于,所述特征信息包括:动态链接库的文件名和md5值,所述描述信息还包括abi指令集,所述abi指令集为运行所述插件包时所用到的指令集。
5.根据权利要求4所述的插件升级的方法,其特征在于,判断所述目标插件对应的插件动态链接库存放目录和宿主动态链接库存放目录中,是否包含所述指令集中的指令对应的动态链接库,包括:
6.一种插件升级的方法,其特征在于,包括:
7.一种插件升级的装置,其特征在于,包括:
8.一种插件升级的装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
...【技术特征摘要】
1.一种插件升级的方法,其特征在于,包括:
2.根据权利要求1所述的插件升级的方法,其特征在于,基于获取到的所述插件包对所述目标插件进行升级之后,还包括:
3.根据权利要求1所述的插件升级的方法,其特征在于,基于所述描述信息判断是否需要更新所述目标插件的动态链接库;当需要更新所述动态链接库时,基于所需更新的动态链接库的下载地址下载并更新所述动态链接库,包括:
4.根据权利要求3所述的插件升级的方法,其特征在于,所述特征信息包括:动态链接库的文件名和md5值,所述描述信息还包括a...
【专利技术属性】
技术研发人员:赵文娴,刘广宾,陈碧锋,李尧彦,柏平平,刘芸江,
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。