应用的安装包的构建分发方法、系统、设备及存储介质与流程

专利2023-02-23  117



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.图1是本发明提供的应用的安装包的构建分发方法的流程示意图;
34.图2是本发明提供的应用的安装包的构建分发系统的结构框图;
35.图3是本发明实施例中计算机设备的内部结构图。
具体实施方式
36.为使本发明的目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。
37.在本发明中,除非另有明确的规定和限定,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
38.下面结合附图和实施例,对本发明进行详细描述。
39.本发明提供了一种应用的安装包的构建分发方法、系统、设备及存储介质,如图1所示,包括:
40.步骤100、预先根据应用的配置规则编写配置文件,其中,所述配置文件包括:所述应用在不同安装需求下的多个配置内容,所述安装需求包括:版本号和运行环境,在实际应用中,应用可能会存在测试版本、内部版本(供内部开发人员使用的版本)、外部版本(供用户使用的版本)、升级后的版本等多个不同的版本,不同版本的应用可能会在android、ios、windows或linux等不同的运行环境下运行,所以同一应用会存在不同类型的安装包,通过预先根据应用的配置规则编写出多个适用于不同版本和不同运行环境下的配置内容,也就是得到在不同安装需求下的多个配置内容以形成配置文件,便于开发人员根据不同的版本和运行环境构建应用对应的安装包;
41.步骤200、根据预设的目标安装需求确定应用的预设代码,及从多个所述配置内容中选择与目标安装需求对应的配置内容;
42.步骤300、根据选择的配置内容对所述预设代码进行编译,打包该配置内容和编译后的预设代码,生成与所述目标安装需求对应的目标安装包;
43.步骤400、根据选择的配置内容对所述目标安装包进行签名得到签名包。
44.具体地,通过根据不同的安装需求预先编写配置内容和对应的代码(也就是预设代码),然后根据预设的目标安装需求,也就是根据指定的安装需求确定其所对应的预设代码和配置内容,然后根据该配置内容对该预设代码进行自动编译打包得到指定的安装需求对应的安装包,也就是得到目标安装包,以此,能够快速的得到应用在所有安装需求下的安装包,无需开发人员根据不同的安装需求依次构建对应的安装包,大大减少了开发人员的工作量。
45.进一步地,所述配置内容包括:基本信息、下载地址和配置参数。具体的,基本信息包括:应用名称、应用版本、应用图标、应用介绍和安装包数据量等,以便于用户根据基本信息了解应用的基本功能,配置参数可以包括以下参数中的任意一种或多种:md5(message-digest algorithm 5),用于目标安装包的完整性检查;签名信息,用于对目标安装包进行签名得到签名包,语言参数,用于指定安装后的应用语言;渠道号,用于标识安装渠道;命令行参数,用于在目标安装包的安装过程中传入以控制安装项,如不同的版本具有不同的功能。
46.进一步地,在所述根据选择的配置内容对所述目标安装包进行签名得到签名包之后,还包括:
47.解析所述签名包得到所述目标安装包的基本信息、下载地址和配置参数;在实际应用中,可以先将签名包上传给文件服务器,文件服务器对签名包进行解析,得到目标安装包的基本信息、下载地址和配置参数;在其他实施例中,目标安装包的下载地址还可通过文件服务器生成对应的下载地址。
48.将所述目标安装包的基本信息和下载地址保存至分发服务数据库;在实际应用中,在将目标安装包的基本信息和下载地址保存至分发服务数据库之后,还可新增一条应用记录数据,以便于防止后续对该目标安装包的基本信息和下载地址进行重复保存;
49.根据所述配置参数将目标安装包的基本信息发送给指定的平台,具体地,是根据配置参数中的渠道号确定将所述目标安装包的基本信息发送给指定的平台,如渠道号指定
的是豌豆荚或各类手机的应用商店平台等,则将目标安装包的基本信息发送给豌豆荚或对应的各类手机的应用商店平台等,基本信息中的应用名称、应用版本、应用图标、应用介绍和安装包数据量则通过指定的平台显示给用户,便于用户通过指定的平台了解应用的基本信息。
50.进一步地,所述应用在不同的安装需求下在代码仓库中具有对应的代码分支,在所述根据应用的配置规则编写配置文件之后,包括:将各个所述配置内容和与其对应的安装需求的代码分支建立关联。
51.具体地,代码仓库,用于存储代码的数据库,可以为gitlab数据库。通过将配置内容和与其对应的安装需求的代码分支建立关联,在开发人员针对目标安装需求提交代码分支后,能够根据代码分支确定目标安装需求所对应的配置内容。
52.进一步地,所述应用在不同的安装需求下的代码分支具有对应的预设代码,在实际应用中,开发人员将预先将应用在不同安装需求下的开发代码提交至gitlab代码仓库进行存储,形成应用在不同的安装需求下的代码分支所具有的预设代码,所述根据预设的目标安装需求确定应用的预设代码,及从多个所述配置内容中选择与目标安装需求对应的配置内容,包括:
53.根据预设的目标安装需求选择对应的代码分支;
54.根据选择的代码分支确定对应的预设代码;
55.从所有所述配置内容中选择与选择的代码分支对应的配置内容。
56.在实际应用中,开发人员根据预设的目标安装需求提交对应的代码分支,接收到代码分支后,触发该目标安装需求的构建事件;构建事件是指根据配置内容对对应的预设代码进行指定的编译构建动作,然后将编译后的预设代码和配置内容进行打包,编译后的预设代码和配置内容可分别进行打包,形成目标安装包,在文件服务器对目标装包进行解析的情况下,对目标安装包中的配置内容单独进行解析,以得到应用的基本信息、下载地址和配置参数等,不对编译打包后的预设代码进行解析,以提高了应用的安全性。
57.进一步地,所述配置规则包括:
58.根据所述版本号确定第一配置项;具体地,可以提取出应用在不同版本中的版本特征,以便后续基于该版本特征对应配置各个版本的第一配置项;
59.根据所述运行环境确定第二配置项;具体地,可以提取出应用在不同运行环境中的运行环境特征,以便后续基于该运行环境特征对应配置各个运行环境的第二配置项;
60.根据所述第一配置项和第二配置项确定该版本号的应用在该运行环境下的配置内容;具体地,通过第一配置项和第二配置项确定该版本号的应用在该运行环境下的命令行参数。
61.进一步地,在将基本信息发送给指定的平台后,用户可根据下载地址或登录指定的平台进行目标安装包的安装,另外,可在安装之前进行检验,如在安装程序内嵌入检验流程和解密算法,可先检验配置参数是否正确,在预设代码中增加有检验标识,检验预设代码中的检验标识与检验流程中的预设标识是否相同,若配置参数正确且检验标识与预设标识相同,则继续执行安装,对配置参数和检验标识可进行加密处理,通过解密算法对加密后的配置参数和检验标识进行解密,降低软件被盗版、被植入广告或病毒的可能性,提高应用安装的安全性。
62.本发明的应用的安装包的构建分发方法,通过根据预设的目标安装需求,也就是根据指定的安装需求确定其所对应的预设代码和配置内容,然后根据该配置内容对该预设代码进行自动编译打包得到指定的安装需求对应的安装包,也就是得到目标安装包,以此,能够快速的得到应用在所有安装需求下的安装包,无需开发人员根据不同的安装需求依次构建对应的安装包,大大减少了开发人员的工作量。
63.如图2所示,本发明还提供了一种应用的安装包的构建分发系统,包括:
64.编写模块10,用于预先根据应用的配置规则编写配置文件,其中,所述配置文件包括:所述应用在不同安装需求下的多个配置内容;
65.选择模块20,用于根据预设的目标安装需求确定应用的预设代码,及从多个所述配置内容中选择与目标安装需求对应的配置内容;
66.打包模块30,用于根据选择的配置内容对所述预设代码进行编译,打包该配置内容和编译后的预设代码,生成与所述目标安装需求对应的目标安装包;
67.签名模块40,用于根据选择的配置内容对所述目标安装包进行签名得到签名包。
68.关于应用的安装包的构建分发系统的具体限定可以参见上文中对于应用的安装包的构建分发方法的限定,在此不再赘述。上述应用的安装包的构建分发系统的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
69.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用的安装包的构建分发方法。
70.本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
71.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行计算机程序时实现以下步骤:
72.预先根据应用的配置规则编写配置文件,其中,所述配置文件包括:所述应用在不同安装需求下的多个配置内容;
73.根据预设的目标安装需求确定应用的预设代码,及从多个所述配置内容中选择与目标安装需求对应的配置内容;
74.根据选择的配置内容对所述预设代码进行编译,打包该配置内容和编译后的预设代码,生成与所述目标安装需求对应的目标安装包;
75.根据选择的配置内容对所述目标安装包进行签名得到签名包。
76.在一个实施例中,所述配置内容包括:基本信息、下载地址和配置参数。
77.在一个实施例中,在所述根据选择的配置内容对所述目标安装包进行签名得到签
名包之后,还包括:
78.解析所述签名包得到所述目标安装包的基本信息、下载地址和配置参数;
79.将所述目标安装包的基本信息和下载地址保存至分发服务数据库;
80.根据所述配置参数将目标安装包的基本信息发送给指定的平台。
81.在一个实施例中,所述应用在不同的安装需求下在代码仓库中具有对应的代码分支,在所述根据应用的配置规则编写配置文件之后,包括:将各个所述配置内容和与其对应的安装需求的代码分支建立关联。
82.在一个实施例中,所述应用在不同的安装需求下的代码分支具有对应的预设代码,所述根据预设的目标安装需求确定应用的预设代码,及从多个所述配置内容中选择与目标安装需求对应的配置内容,包括:
83.根据预设的目标安装需求选择对应的代码分支;
84.根据选择的代码分支确定对应的预设代码;
85.从所有所述配置内容中选择与选择的代码分支对应的配置内容。
86.在一个实施例中,所述安装需求包括:版本号和运行环境。
87.在一个实施例中,所述配置规则包括:
88.根据所述版本号确定第一配置项;
89.根据所述运行环境确定第二配置项;
90.根据所述第一配置项和第二配置项确定该版本号的应用在该运行环境下的配置内容。
91.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
92.预先根据应用的配置规则编写配置文件,其中,所述配置文件包括:所述应用在不同安装需求下的多个配置内容;
93.根据预设的目标安装需求确定应用的预设代码,及从多个所述配置内容中选择与目标安装需求对应的配置内容;
94.根据选择的配置内容对所述预设代码进行编译,打包该配置内容和编译后的预设代码,生成与所述目标安装需求对应的目标安装包;
95.根据选择的配置内容对所述目标安装包进行签名得到签名包。
96.在一个实施例中,所述配置内容包括:基本信息、下载地址和配置参数。
97.在一个实施例中,在所述根据选择的配置内容对所述目标安装包进行签名得到签名包之后,还包括:
98.解析所述签名包得到所述目标安装包的基本信息、下载地址和配置参数;
99.将所述目标安装包的基本信息和下载地址保存至分发服务数据库;
100.根据所述配置参数将目标安装包的基本信息发送给指定的平台。
101.在一个实施例中,所述应用在不同的安装需求下在代码仓库中具有对应的代码分支,在所述根据应用的配置规则编写配置文件之后,包括:将各个所述配置内容和与其对应的安装需求的代码分支建立关联。
102.在一个实施例中,所述应用在不同的安装需求下的代码分支具有对应的预设代码,所述根据预设的目标安装需求确定应用的预设代码,及从多个所述配置内容中选择与
目标安装需求对应的配置内容,包括:
103.根据预设的目标安装需求选择对应的代码分支;
104.根据选择的代码分支确定对应的预设代码;
105.从所有所述配置内容中选择与选择的代码分支对应的配置内容。
106.在一个实施例中,所述安装需求包括:版本号和运行环境。
107.在一个实施例中,所述配置规则包括:
108.根据所述版本号确定第一配置项;
109.根据所述运行环境确定第二配置项;
110.根据所述第一配置项和第二配置项确定该版本号的应用在该运行环境下的配置内容。
111.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
112.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

技术特征:
1.一种应用的安装包的构建分发方法,其特征在于,包括:预先根据应用的配置规则编写配置文件,其中,所述配置文件包括:所述应用在不同安装需求下的多个配置内容;根据预设的目标安装需求确定应用的预设代码,及从多个所述配置内容中选择与目标安装需求对应的配置内容;根据选择的配置内容对所述预设代码进行编译,打包该配置内容和编译后的预设代码,生成与所述目标安装需求对应的目标安装包;根据选择的配置内容对所述目标安装包进行签名得到签名包。2.根据权利要求1所述的应用的安装包的构建分发方法,其特征在于,所述配置内容包括:基本信息、下载地址和配置参数。3.根据权利要求2所述的应用的安装包的构建分发方法,其特征在于,在所述根据选择的配置内容对所述目标安装包进行签名得到签名包之后,还包括:解析所述签名包得到所述目标安装包的基本信息、下载地址和配置参数;将所述目标安装包的基本信息和下载地址保存至分发服务数据库;根据所述配置参数将目标安装包的基本信息发送给指定的平台。4.根据权利要求1所述的应用的安装包的构建分发方法,其特征在于,所述应用在不同的安装需求下在代码仓库中具有对应的代码分支,在所述根据应用的配置规则编写配置文件之后,包括:将各个所述配置内容和与其对应的安装需求的代码分支建立关联。5.根据权利要求4所述的应用的安装包的构建分发方法,其特征在于,所述应用在不同的安装需求下的代码分支具有对应的预设代码,所述根据预设的目标安装需求确定应用的预设代码,及从多个所述配置内容中选择与目标安装需求对应的配置内容,包括:根据预设的目标安装需求选择对应的代码分支;根据选择的代码分支确定对应的预设代码;从所有所述配置内容中选择与选择的代码分支对应的配置内容。6.根据权利要求1所述的应用的安装包的构建分发方法,其特征在于,所述安装需求包括:版本号和运行环境。7.根据权利要求6所述的应用的安装包的构建分发方法,其特征在于,所述配置规则包括:根据所述版本号确定第一配置项;根据所述运行环境确定第二配置项;根据所述第一配置项和第二配置项确定该版本号的应用在该运行环境下的配置内容。8.一种应用的安装包的构建分发系统,其特征在于,包括:编写模块,用于预先根据应用的配置规则编写配置文件,其中,所述配置文件包括:所述应用在不同安装需求下的多个配置内容;选择模块,用于根据预设的目标安装需求确定应用的预设代码,及从多个所述配置内容中选择与目标安装需求对应的配置内容;打包模块,用于根据选择的配置内容对所述预设代码进行编译,打包该配置内容和编译后的预设代码,生成与所述目标安装需求对应的目标安装包;签名模块,用于根据选择的配置内容对所述目标安装包进行签名得到签名包。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

技术总结
本发明涉及一种应用的安装包的构建分发方法、系统、设备及存储介质,其技术方案要点是:预先根据应用的配置规则编写配置文件,其中,所述配置文件包括:所述应用在不同安装需求下的多个配置内容;根据预设的目标安装需求确定应用的预设代码,及从多个所述配置内容中选择与目标安装需求对应的配置内容;根据选择的配置内容对所述预设代码进行编译,打包该配置内容和编译后的预设代码,生成与所述目标安装需求对应的目标安装包;根据选择的配置内容对所述目标安装包进行签名得到签名包;本申请具有能够快速的得到应用在所有安装需求下的安装包,大大减少了开发人员的工作量的效果。大大减少了开发人员的工作量的效果。大大减少了开发人员的工作量的效果。


技术研发人员:陈钟浩 管祥 刘瑛
受保护的技术使用者:上海致景信息科技有限公司
技术研发日:2022.07.26
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-1248.html

最新回复(0)