System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及软件,特别是涉及一种应用程序的更新方法、装置、电子设备及存储介质。
技术介绍
1、当下,随着信息技术的发展,不少应用程序被开发出来。例如游戏、即时通信、视频、购物等类型的应用程序,给人们的工作、生活以及娱乐带来了丰富多彩的体验。在应用程序发布后,开发者可能会根据实际的运营需求,对应用程序进行配置更新,以解决应用程序中存在的问题或者提供新的业务功能。
2、相关技术中,为了满足漏洞修复、快速迭代等紧急需求,应用程序需要具备实现热更新的能力,即在免安装软件安装包的前提下,实现更新业务逻辑的功能。目前,常规使用的热更新策略,大多需要调整应用程序的软件安装包,插入部分新的程序代码,然后基于新旧程序代码的替换实现业务逻辑的更新。这种实现方式,在调用新的程序代码过程中经常存在兼容性问题,容易出现程序崩溃,导致应用程序的运行稳定较差,使用体验受到影响。
技术实现思路
1、本申请实施例提供了一种应用程序的更新方法、装置、电子设备及存储介质,能够提高应用程序热更新的运行稳定性,有利于改善应用程序的使用体验。
2、一方面,本申请实施例提供了一种应用程序的更新方法,应用于终端设备,所述方法包括:
3、响应于针对应用程序的启动指令,确定所述应用程序对应的目标存储空间;所述目标存储空间用于存储所述应用程序的热更新程序文件;
4、检测所述目标存储空间中是否存在所述应用程序的热更新程序文件;
5、当所述目标存储空间中存在所述热更新程序文件,基于
6、另一方面,本申请实施例还提供了另一种应用程序的更新方法,应用于后台服务器,所述方法包括:
7、接收应用程序的热更新程序文件;
8、将所述热更新程序文件发送给终端设备,以使得所述终端设备将所述热更新程序文件存储到所述应用程序对应的目标存储空间,并响应于针对所述应用程序的启动指令,基于所述热更新程序文件运行所述应用程序。
9、另一方面,本申请实施例还提供了一种应用程序的更新装置,应用于终端设备,所述装置包括:
10、响应单元,用于响应于针对应用程序的启动指令,确定所述应用程序对应的目标存储空间;所述目标存储空间用于存储所述应用程序的热更新程序文件;
11、检测单元,用于检测所述目标存储空间中是否存在所述应用程序的热更新程序文件;
12、执行单元,用于当所述目标存储空间中存在所述热更新程序文件,基于所述热更新程序文件运行所述应用程序;或者,当所述目标存储空间中不存在所述热更新程序文件,从所述应用程序的软件安装包中确定原始程序文件,基于所述原始程序文件运行所述应用程序。
13、进一步,上述应用程序的更新装置还包括第一获取单元,所述第一获取单元具体用于:
14、接收所述应用程序的后台服务器发送的热更新程序文件;
15、将所述热更新程序文件存储到所述应用程序对应的目标存储空间。
16、进一步,上述应用程序的更新装置还包括第二获取单元,所述第二获取单元具体用于:
17、向所述应用程序的后台服务器发送询问信息;所述询问信息用于查询所述后台服务器中是否存在所述应用程序的热更新程序文件;
18、接收所述应用程序的后台服务器返回的询问结果;
19、当所述询问结果表征所述后台服务器中存在所述应用程序的热更新程序文件,下载所述热更新程序文件,将所述热更新程序文件存储到所述应用程序对应的目标存储空间。
20、进一步,上述第一获取单元或者第二获取单元具体用于:
21、获取所述热更新程序文件的版本号信息;
22、在所述目标存储空间中建立文件目录,以所述版本号信息为索引存储所述热更新程序文件。
23、进一步,上述第二获取单元具体用于:
24、当所述询问结果表征所述后台服务器中存在所述应用程序的热更新程序文件,获取所述后台服务器中的热更新程序文件的第一版本号信息;
25、查询当前所述目标存储空间中存储的各个热更新程序文件的第二版本号信息;
26、将所述第一版本号信息和各个所述第二版本号信息进行比对;
27、当所述第一版本号信息和任一所述第二版本号信息均不相同时,下载所述后台服务器中的热更新程序文件,并将下载的热更新程序文件存储到所述应用程序对应的目标存储空间。
28、进一步,上述应用程序的更新装置还包括第一清理单元,所述第一清理单元具体用于:
29、检测所述目标存储空间的可用存储容量;
30、当所述可用存储容量小于预设容量阈值时,根据所述版本号信息,确定当前所述目标存储空间中存储的第一目标程序文件;所述第一目标程序文件为所述目标存储空间内最新的热更新程序文件;
31、从所述目标存储空间中删除至少一个第二目标程序文件;所述第二目标程序文件为除所述第一目标程序文件之外其他的热更新程序文件。
32、进一步,上述执行单元具体用于:
33、根据所述版本号信息,确定当前所述目标存储空间中存储的第一目标程序文件;所述第一目标程序文件为所述目标存储空间内最新的热更新程序文件;
34、基于所述第一目标程序文件运行所述应用程序。
35、进一步,上述应用程序的更新装置还包括差分更新单元,所述差分更新单元具体用于:
36、从所述应用程序的后台服务器获取差分程序文件和目标版本号信息;
37、确定当前所述目标存储空间中存储的第一目标程序文件;所述第一目标程序文件为所述目标存储空间内最新的热更新程序文件;
38、对所述差分程序文件和所述第一目标程序文件进行合并处理,得到新的热程序更新文件,并将所述目标版本号信息确定为所述新的热程序更新文件的版本号信息。
39、进一步,上述应用程序的更新装置还包括第二清理单元,所述第二清理单元具体用于:
40、从所述应用程序的后台服务器获取所述应用程序的待更新安装包;
41、删除所述应用程序当前的软件安装包,将所述待更新安装包作为新的软件安装包配置到所述终端设备;
42、当所述新的软件安装包配置完成,清空所述目标存储空间中的所有热更新程序文件。
43、进一步,上述执行单元具体用于:
44、调用程序文件读取器对所述热更新程序文件进行读取,得到程序代码字段;
45、将所述程序代码字段传输给程序执行器,执行所述应用程序的业务逻辑。
46、另一方面,本申请实施例还提供了另一种应用程序的更新装置,应用于后台服务器,所述装置包括:
47、接收单元,用于接收应用程序的热更新程序文件;
48、发送单元本文档来自技高网...
【技术保护点】
1.一种应用程序的更新方法,其特征在于,应用于终端设备,所述方法包括:
2.根据权利要求1所述的应用程序的更新方法,其特征在于,所述热更新程序文件通过以下步骤获取:
3.根据权利要求1所述的应用程序的更新方法,其特征在于,所述热更新程序文件通过以下步骤获取:
4.根据权利要求2或者3所述的应用程序的更新方法,其特征在于,所述将所述热更新程序文件存储到所述应用程序对应的目标存储空间,包括:
5.根据权利要求3所述的应用程序的更新方法,其特征在于,所述当所述询问结果表征所述后台服务器中存在所述应用程序的热更新程序文件,下载所述热更新程序文件,将所述热更新程序文件存储到所述应用程序对应的目标存储空间,包括:
6.根据权利要求4所述的应用程序的更新方法,其特征在于,所述方法还包括以下步骤:
7.根据权利要求4所述的应用程序的更新方法,其特征在于,所述当所述目标存储空间中存在所述热更新程序文件,基于所述热更新程序文件运行所述应用程序,包括:
8.根据权利要求1所述的应用程序的更新方法,其特征在于,所述方法还
9.根据权利要求1所述的应用程序的更新方法,其特征在于,所述方法还包括以下步骤:
10.根据权利要求1所述的应用程序的更新方法,其特征在于,所述基于所述热更新程序文件运行所述应用程序,包括:
11.一种应用程序的更新方法,其特征在于,应用于后台服务器,所述方法包括:
12.一种应用程序的更新装置,其特征在于,应用于终端设备,所述装置包括:
13.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11任意一项所述的应用程序的更新方法。
14.一种计算机可读存储介质,所述存储介质存储有程序,其特征在于,所述程序被处理器执行时实现权利要求1至11任意一项所述的应用程序的更新方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11任意一项所述的应用程序的更新方法。
...【技术特征摘要】
1.一种应用程序的更新方法,其特征在于,应用于终端设备,所述方法包括:
2.根据权利要求1所述的应用程序的更新方法,其特征在于,所述热更新程序文件通过以下步骤获取:
3.根据权利要求1所述的应用程序的更新方法,其特征在于,所述热更新程序文件通过以下步骤获取:
4.根据权利要求2或者3所述的应用程序的更新方法,其特征在于,所述将所述热更新程序文件存储到所述应用程序对应的目标存储空间,包括:
5.根据权利要求3所述的应用程序的更新方法,其特征在于,所述当所述询问结果表征所述后台服务器中存在所述应用程序的热更新程序文件,下载所述热更新程序文件,将所述热更新程序文件存储到所述应用程序对应的目标存储空间,包括:
6.根据权利要求4所述的应用程序的更新方法,其特征在于,所述方法还包括以下步骤:
7.根据权利要求4所述的应用程序的更新方法,其特征在于,所述当所述目标存储空间中存在所述热更新程序文件,基于所述热更新程序文件运行所述应用程序,包括:
8.根据权利要...
【专利技术属性】
技术研发人员:黎建忠,侯锦坤,郭润增,王少鸣,晋中望,郑桂涛,刘鸿达,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。