应用程序补丁包获取方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:19820877 阅读:72 留言:0更新日期:2018-12-19 14:23
本发明专利技术公开了一种应用程序补丁包获取方法、装置、计算机设备及存储介质,属于信息科技领域。本发明专利技术实施例在生成资源补丁包的过程中,通过固定第一资源库中的资源标识,获取更新资源的资源标识,并基于该更新资源的资源标识合成相应文件,避免了对第一资源库中的资源标识和更新资源标识的重新编写,大大提高了资源补丁包的生成效率。

【技术实现步骤摘要】
应用程序补丁包获取方法、装置、计算机设备及存储介质
本专利技术涉及信息科技领域,特别涉及一种应用程序补丁包获取方法、装置、计算机设备及存储介质。
技术介绍
随着移动终端的快速发展,出现了越来越多的应用程序,这些应用程序需要不断地进行修复,例如,针对应用程序出现的bug进行完善或在应用程序中增加新的功能模块。一般地,安卓系统上运行的应用程序出现问题时,需要该应用程序的开发端的计算机设备将修复好的完整安装包推送至用户端的计算机设备,用户端的计算机设备接收到该安装包并完成对该应用程序的修复,但这种方式用户体验不好,因此,出现了一种基于热修复技术实现动态编译的方案,通过该热修复技术,开发商仅需针对安卓系统上的该应用程序出现的问题进行修复,得到补丁包,将该补丁包推送至用户端的计算机设备,用户端的计算机设备上的应用程序重启后,即完成修复。目前,现有的基于热修复技术实现动态编译的方案为:开发商在开发端的计算机设备上注入Application类的onCreate方法,用于作为该应用程序的入口,同时在开发端的计算机设备注册一个本地服务器,用于监听用户端的计算机设备的端口,开发端的计算机设备基于被修改的代码,生成代码补丁包,且用户端的计算机设备基于被修改的资源,对新全量资源的资源标识进行重新编写,生成资源补丁包,并将该代码补丁包和资源补丁包推送至用户端的计算机设备,用户端的计算机设备通过端口接收到该代码补丁包和资源补丁包,更新原有代码和原有资源,用户端的计算机设备重启后,自动完成对该应用程序的修复。然而,基于上述方案,开发端的计算机设备生成代码补丁包的过程是从上到下沿着流水式的任务进行打包的,每个环节耗时都太长,最终导致整个代码补丁包的生成时间太长,且开发端的计算机设备生成资源补丁包时,需要对新全量资源的资源标识进行重新编写,效率低下。
技术实现思路
本专利技术实施例提供了一种应用程序补丁包获取方法、装置、计算机设备及存储介质,能够解决生成代码补丁包的耗时太长,以及生成资源补丁包时,需要对新全量资源的资源标识进行重新编写,导致效率低下的问题。所述技术方案如下:一方面,提供了一种应用程序补丁包获取方法,所述方法包括:获取应用程序的更新代码文件和更新资源;基于所述更新代码文件,生成代码补丁包;基于更新资源和第一资源库,获取所述更新资源的资源标识,所述第一资源库用于存储所述应用程序的原有资源以及资源标识;基于所述更新资源的资源标识、第一资源库、第一资源标识映射文件以及新全量资源,生成资源补丁包,所述第一资源标识映射文件为基于第一资源库获取到的用于固定资源标识的文件,所述新全量资源包括更新资源和原有资源。一方面,提供了一种应用程序补丁包获取装置,所述装置包括:获取模块,用于获取应用程序的更新代码文件和更新资源;生成模块,用于基于所述更新代码文件,生成代码补丁包;所述获取模块还用于基于更新资源和第一资源库,获取所述更新资源的资源标识,所述第一资源库用于存储所述应用程序的原有资源以及资源标识;所述生成模块还用于基于所述更新资源的资源标识、第一资源库、第一资源标识映射文件以及新全量资源,生成资源补丁包,所述第一资源标识映射文件为基于第一资源库获取到的用于固定资源标识的文件,所述新全量资源包括更新资源和原有资源。一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上述应用程序补丁包获取方法所执行的操作。一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上述应用程序补丁包获取方法所执行的操作。一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述应用程序补丁包获取方法所执行的操作。本专利技术实施例提供的技术方案带来的有益效果是:本专利技术实施例在生成资源补丁包的过程中,通过固定第一资源库中的资源标识,获取更新资源的资源标识,并基于该更新资源的资源标识合成相应文件,避免了对第一资源库中的资源标识和更新资源标识的重新编写,大大提高了资源补丁包的生成效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种应用程序补丁包获取方法的实施环境图;图2是本专利技术实施例提供的一种应用程序补丁包获取方法的流程图;图3是本专利技术实施例提供的代码补丁包的加载示意图;图4是本专利技术实施例提供的当应用程序的页面布局没有发生改动时,资源补丁包的生成过程示意图;图5是本专利技术实施例提供的当应用程序的页面布局发生改动时,资源补丁包的生成过程示意图;图6是本专利技术实施例提供的一种应用程序补丁包获取装置的结构示意图;图7是本专利技术实施例提供的一种计算机设备的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。图1是本专利技术实施例提供的一种应用程序补丁包获取方法的实施环境图。该实施环境包括第一计算机设备101和第二计算机设备102,该第一计算机设备101是用户端的计算机设备,供用户使用,该第一计算机设备101上安装有多种应用程序,该第二计算机设备102既是开发端的计算机设备,供开发人员使用,又是应用服务器。该第一计算机设备101可以为智能手机、平板电脑或其他电子设备,该第二计算机设备102可以为台式电脑。开发人员可以通过该第二计算机设备102对应用程序进行修复,然后,该第二计算机设备102将更新后的该应用程序的安装包发送到该第一计算机设备101上。对于该第二计算机设备102来说,该第二计算机设备102还可以具有至少一种数据库,用以存储应用程序的用户信息、资源以及代码等等。图2是本专利技术实施例提供的一种应用程序补丁包获取方法的流程图。参见图2,该实施例具体包括:201、计算机设备获取应用程序的更新代码文件和更新资源。在实际应用中,应用程序的开发编译过程中,需要不断地进行更新,例如,针对该应用程序出现的bug进行修复;或,在该应用程序添加新的功能模块等。针对上述问题,计算机设备对该应用程序的代码逻辑进行修改,以及增加或删除资源文件,例如图片等。在本专利技术实施例中,计算机设备在该应用程序对应的项目工程中引入blink-plugin.jar,同时注入Application类的onCreat方法以启动该项目工程的blink-plugin.jar,并配置该项目工程的环境目录,当计算机设备要对该应用程序的代码文件和资源进行改动时,直接在该项目工程的根目录命令中输入“blink”,即可启动blink-plugin.jar,用于对更新代码文件和更新资源进行编译。202、计算机设备基于该更新代码文件生成对应的类文件。在本专利技术实施例中,针对计算机设备获取到的更新代码文件,计算机设备通过编译器,例如javac(javacompiler,语言编程编译器),将该更新代码文件编译成字节代码的class类文件。203、计算机设备从类路径中调本文档来自技高网
...

【技术保护点】
1.一种应用程序补丁包获取方法,其特征在于,所述方法包括:获取应用程序的更新代码文件和更新资源;基于所述更新代码文件,生成代码补丁包;基于更新资源和第一资源库,获取所述更新资源的资源标识,所述第一资源库用于存储所述应用程序的原有资源以及资源标识;基于所述更新资源的资源标识、第一资源库、第一资源标识映射文件以及新全量资源,生成资源补丁包,所述第一资源标识映射文件为基于所述第一资源库获取到的用于固定资源标识的文件,所述新全量资源包括更新资源和原有资源。

【技术特征摘要】
1.一种应用程序补丁包获取方法,其特征在于,所述方法包括:获取应用程序的更新代码文件和更新资源;基于所述更新代码文件,生成代码补丁包;基于更新资源和第一资源库,获取所述更新资源的资源标识,所述第一资源库用于存储所述应用程序的原有资源以及资源标识;基于所述更新资源的资源标识、第一资源库、第一资源标识映射文件以及新全量资源,生成资源补丁包,所述第一资源标识映射文件为基于所述第一资源库获取到的用于固定资源标识的文件,所述新全量资源包括更新资源和原有资源。2.根据权利要求1所述的方法,其特征在于,所述基于所述更新代码文件,生成代码补丁包包括:基于所述更新代码文件生成对应的类文件;将所述类文件存储到类路径中,将所述类文件进行打包,生成所述代码补丁包,当再次生成代码补丁包时,优先从所述类路径中调用已存储的类文件。3.根据权利要求1所述的方法,其特征在于,所述基于更新资源和第一资源库,获取所述更新资源的资源标识包括:基于所述第一资源库中的最大资源标识和所述更新资源的数量进行增量计算,得到所述更新资源的资源标识,一个资源标识用于对资源库中的一个资源进行唯一标记。4.根据权利要求1所述的方法,其特征在于,所述基于所述更新资源的资源标识、原资源库、第一资源标识映射文件以及新全量资源,生成资源补丁包包括:当应用程序的页面布局没有发生改动时,基于所述更新资源的资源标识和所述第一资源库,合成第二资源库,所述第二资源库用于存储所述应用程序的原有资源、更新资源以及资源标识;基于所述更新资源的资源标识和第一部分资源标识映射文件,合成第二部分资源标识映射文件;基于所述第二资源库、所述第二部分资源标识映射文件和所述新全量资源生成所述资源补丁包。5.根据权利要求1所述的方法,其特征在于,所述基于所述更新资源的资源标识、第一资源库、第一资源标识映射文件以及新全量资源,生成资源补丁包还包括:当应用程序的页面布局发生改动时,基于所述更新资源的资源标识和所述第一资源库,合成所述第二资源库;基于所述第一资源库分析得到第一全量资源标识映射文件,所述第一全量资源标识映射文件为所述第一资源库对应的全部资源标识映射文件;基于所述更新资源的资源标识和所述第一全量资源标识映射文件,合成第二全量资源标识映射文件,所述第二全量资源标识映射文件为第二资源库对应的全部资源标识映射文件;基于所述第二资源库、所述第二全量资源标识映射文件和所述新全量资源,生成所述资源补丁包。6.一种应用程序补丁包获取装置,其特征在于,所述装置包括:获取模块,用于获取应用程序的更新代码文件和更新资源;...

【专利技术属性】
技术研发人员:谭伟林郭一木陈琦钿
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1