[发明专利]一种应用包拆分重组和运行的方法和装置有效
申请号: | 201811595300.3 | 申请日: | 2018-12-25 |
公开(公告)号: | CN109814913B | 公开(公告)日: | 2020-09-18 |
发明(设计)人: | 邹现军;王兴楠 | 申请(专利权)人: | 华为终端有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/61;G06F9/445 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁 |
地址: | 523000 广东省东莞市松山湖高新技术产业开*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用 拆分 重组 运行 方法 装置 | ||
本申请提供了一种应用包拆分重组和运行的方法和装置,其中所述应用包拆分和重组的方法包括:将第一应用包拆分为主包和至少一个分包;将所述主包和所述至少一个分包保存在第一文件中,并且确定所述主包和所述至少一个分包在所述第一文件中的偏移量和大小;生成所述应用对应的第二应用包;其中所述第二应用包包括包头和所述第一文件。服务器接收到原应用包后,自动对原应用包进行拆分和重组,生成一个完整的新应用包,这样就不需要开发者进行分包和对分包后的分包进行维护,降低了开发者的开发成本。且在重组过程中,将拆分出的主包和多个分包组成一个文件,客户端在进行下载时,只需要发送一次下载请求,即可下载完整的应用包。
技术领域
本发明涉及移动应用下载技术领域,尤其涉及一种应用包拆分重组和运行的方法和装置。
背景技术
目前以微信小程序为代表出现了一种新的应用形态,这类应用形态类似于Android安装包:有一个应用包,可以做到免安装,即点即用。为了保证用户以最快的速度能够使用到应用包,通常会做一些拆包方案,这样可以确保不用把整个应用包下载下去后才能使用,只需要加载应用包的一部分即可运行。
现有的拆包方案是将应用包拆分出一个主包和多个分包,但是这种应用包是由开发者进行拆分,这样会增加开发者的开发成本。并且,开发者需要自己维护拆分出的分包,假如开发者拆分不合理,分包仍然会比较大,无法达到即点即用的用户预期。
另外,现在服务器将应用包拆分出主包和多个分包后,客户端在进行下载时,先发送一个下载请求,然后客户端下载一个主包或分包,如果再下载一个分包,则再发送一个下载请求。也就是说如果要将整个应用包下载下来,则需要发送多次下载请求,这大大降低了客户端下载应用包的速度,严重影响用户的体验。
发明内容
为了克服上述问题,本申请的实施例提供了一种应用包拆分重组和运行的方法和装置。
为了达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请提供一种应用包拆分和重组的方法,所述方法由服务器实施,包括:接收应用对应的第一应用包;将所述第一应用包拆分为主包和至少一个分包;所述主包和所述至少一个分包各自包括至少一个所述应用的页面;将所述主包和所述至少一个分包保存在第一文件中,并且确定所述主包和所述至少一个分包在所述第一文件中的偏移量和大小;生成所述应用对应的第二应用包;其中所述第二应用包包括包头和所述第一文件,所述包头包括所述主包与所述主包中的至少一个所述应用的页面的映射关系、所述至少一个分包与所述至少一个分包中的至少一个所述应用的页面的映射关系、以及所述主包和所述至少一个分包在所述第一文件中的偏移量和大小。服务器接收到原应用包后,自动对原应用包进行拆分和重组,生成一个完整的新应用包,这样就不需要开发者进行分包和对分包后的分包进行维护,降低了开发者的开发成本。且在重组过程中,将拆分出的主包和多个分包组成一个文件,客户端在进行下载时,只需要发送一次下载请求,即可下载完整的应用包。
在另一个可能的实现中,所述方法包括:对所述主包和所述至少一个分包分别生成所述主包的摘要列表和所述至少一个分包的摘要列表;其中,所述主包的摘要列表和所述至少一个分包的摘要列表分别用于对与之对应的主包或分包进行校验;所述生成所述应用对应的第二应用包包括:在所述包头写入所述主包的摘要列表、所述至少一个分包的摘要列表。以便于在客户端下载主包或分包后,依据这些摘要列表对下载的主包或分包进行校验,判断其是否被第三方篡改。
在另一个可能的实现中,所述对所述主包和所述至少一个分包分别生成所述主包摘要列表和所述至少一个分包摘要列表包括:运用hash算法对所述主包和所述至少一个分包分别生成所述主包摘要列表和所述至少一个分包摘要列表。
在另一个可能的实现中,所述方法包括:对所述包头进行签名得到签名信息,所述签名信息用于对所述包头进行校验;在所述第二应用包中写入所述签名信息。以便在客户端下载完包头后,对包头进行校验,判断其是否被第三方篡改。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为终端有限公司,未经华为终端有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811595300.3/2.html,转载请声明来源钻瓜专利网。