应用程序安装包的生成方法及装置、电子设备和存储介质与流程

未命名 08-07 阅读:70 评论:0


1.本公开涉及计算机技术、互联网技术和金融领域,更具体地,涉及一种应用程序安装包的生成方法及装置、电子设备、计算机可读存储介质和计算机程序产品。


背景技术:

2.随着计算机技术的发展,用户对于各种应用软件的需求与日俱增。为了适应用户的不同需求,unity技术应运而生。
3.通过unity技术可以将若干资源文件构建为基于unity的软件开发工具包(software development kit,sdk)。资源文件的类型可以包括图片、音视频、文字或者其他可以在计算机中展示的内容。
4.在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:由于操作系统和软件开发工具包之间的互相调用容易存在冲突,因而无法保障基于unity的软件开发工具包的适用性。


技术实现要素:

5.有鉴于此,本公开提供了一种计算机技术、互联网技术和金融领域方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
6.根据本公开的一个方面,提供了一种应用程序安装包的生成方法,包括:
7.响应于接收到应用程序安装包生成请求,根据上述应用程序安装包生成请求中的应用程序信息,获取动态链接库集合,其中,上述动态链接库集合至少包括通过第一开发工具得到的m个第一动态链接库和通过第二开发工具得到的n个第二动态链接库,m和n均为正整数;
8.根据上述m个第一动态链接库和上述n个第二动态链接库,确定通用文件信息集合和区别文件信息集合;
9.根据上述通用文件信息集合和上述区别文件信息集合,确定多个软件开发工具包和上述多个软件开发工具包彼此之间的关联关系信息;以及
10.根据上述多个软件开发工具包彼此之间的关联关系信息,生成应用程序安装包。
11.根据本公开的实施例,上述应用程序信息包括开发平台信息和功能需求信息。
12.根据本公开的实施例,上述响应于接收到应用程序安装包生成请求,根据上述应用程序安装包生成请求中的应用程序信息,获取动态链接库集合包括:
13.响应于接收到上述应用程序安装包生成请求,根据上述开发平台信息,确定p个候选动态链接库标识;
14.根据上述功能需求信息,在上述p个候选动态链接库标识中确定q个动态链接库标识,其中,p大于或等于q;以及
15.根据上述q个动态链接库标识,获取上述m个第一动态链接库和上述n个第二动态链接库,其中,q=m+n。
16.根据本公开的实施例,上述功能需求信息至少包括第一功能需求子信息和第二功能需求子信息。
17.根据本公开的实施例,上述根据上述功能需求信息,在上述p个候选动态链接库标识中确定q个动态链接库标识包括:
18.根据上述第一功能需求子信息,在上述p个候选动态链接库标识中确定m个动态链接库标识;以及
19.根据上述第二功能需求子信息,在上述p个候选动态链接库标识中确定n个动态链接库标识。
20.根据本公开的实施例,上述根据上述q个动态链接库标识,获取上述m个第一动态链接库和上述n个第二动态链接库包括:
21.根据上述m个动态链接库标识,获取上述m个第一动态链接库;以及
22.根据上述n个动态链接库标识,获取上述n个第二动态链接库。
23.根据本公开的实施例,上述第一功能需求子信息和上述第二功能需求子信息均包括以下之一:登录功能、虚拟数字人功能、虚拟营业厅功能、支付功能和信息推送功能。
24.根据本公开的实施例,上述m个第一动态链接库中的每个上述第一动态链接库各自包括至少一个第一候选文件标识和与上述至少一个第一候选文件标识各自对应的第一候选文件信息。
25.根据本公开的实施例,上述n个第二动态链接库中的每个上述第二动态链接库各自包括至少一个第二候选文件标识和与上述至少一个第二候选文件标识各自对应的第二候选文件信息。
26.根据本公开的实施例,上述根据上述m个第一动态链接库和上述n个第二动态链接库,确定通用文件信息集合和区别文件信息集合包括:
27.针对上述至少一个第一候选文件标识中的每个第一候选文件标识,将上述第一候选文件标识与上述至少一个第二候选文件标识分别进行匹配,得到匹配结果;
28.在上述匹配结果表征上述至少一个第二候选文件标识中存在与上述第一候选文件标识相匹配的第二候选文件标识的情况下,将上述第一候选文件标识和与上述第一候选文件标识对应的第一候选文件信息,关联存储至上述通用文件信息集合;
29.在上述匹配结果表征上述至少一个第二候选文件标识中不存在与上述第一候选文件标识相匹配的第二候选文件标识的情况下,将上述第一候选文件标识和与上述第一候选文件标识对应的第一候选文件信息,关联存储至上述区别文件信息集合;以及
30.将上述第二候选文件标识和与上述第二候选文件标识对应的第二候选文件信息,关联存储至上述区别文件信息集合。
31.根据本公开的实施例,上述通用文件信息集合包括至少一个通用文件信息和与上述至少一个通用文件信息各自对应的通用文件标识,上述区别文件信息集合包括至少一个区别文件信息和与上述至少一个区别文件信息各自对应的区别文件标识。
32.根据本公开的实施例,上述根据上述通用文件信息集合和上述区别文件信息集合,确定多个软件开发工具包和上述多个软件开发工具包彼此之间的关联关系信息包括:
33.针对上述至少一个通用文件信息中的每个通用文件信息,根据上述通用文件信息,生成与上述通用文件标识对应的软件开发工具包;
34.针对上述至少一个区别文件信息中的每个区别文件信息,根据上述区别文件信息,生成与上述区别文件标识对应的软件开发工具包;以及
35.根据与上述通用文件信息对应的通用文件标识和与上述区别文件信息对应的区别文件标识,确定上述关联关系信息。
36.根据本公开的实施例,上述应用程序安装包的生成方法还包括:
37.根据上述开发平台信息,确定与上述开发平台信息对应的系统开发环境;以及
38.基于上述系统开发环境,创建初始开发工程。
39.根据本公开的实施例,上述根据上述多个软件开发工具包和上述多个软件开发工具包彼此之间的关联关系信息,生成应用程序安装包包括:
40.根据上述多个软件开发工具包之间的关联关系信息,将上述多个软件开发工具包集成至上述初始开发工程,得到目标开发工程;以及
41.对上述目标项目工程进行编译,得到上述应用程序安装包。
42.根据本公开的另一个方面,提供了一种应用程序安装包的生成装置,包括:
43.获取模块,用于响应于接收到应用程序安装包生成请求,根据上述应用程序安装包生成请求中的应用程序信息,获取动态链接库集合,其中,上述动态链接库集合至少包括通过第一开发工具得到的m个第一动态链接库和通过第二开发工具得到的n个第二动态链接库,m和n均为正整数;
44.第一确定模块,用于根据上述m个第一动态链接库和上述n个第二动态链接库,确定通用文件信息集合和区别文件信息集合;
45.第二确定模块,用于根据上述通用文件信息集合和上述区别文件信息集合,确定多个软件开发工具包和上述多个软件开发工具包彼此之间的关联关系信息;以及
46.生成模块,用于根据上述多个软件开发工具包彼此之间的关联关系信息,生成应用程序安装包。
47.根据本公开的另一个方面,提供了一种电子设备,包括:
48.一个或多个处理器;
49.存储器,用于存储一个或多个指令,
50.其中,当上述一个或多个指令被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如本公开所述的方法。
51.根据本公开的另一个方面,提供了一种计算机可读存储介质,其上存储有可执行指令,上述可执行指令被处理器执行时使处理器实现如本公开所述的方法。
52.根据本公开的另一个方面,提供了一种计算机程序产品,上述计算机程序产品包括计算机可执行指令,上述计算机可执行指令在被执行时用于实现如本公开所述的方法。
53.根据本公开的实施例,由于m个第一动态链接库是通过第一开发工具得到的,n个第二动态链接库是通过第二开发工具得到的,通过根据m个第一动态链接库和n个第二动态链接库,确定通用文件信息集合和区别文件信息集合,并根据通用文件信息集合和区别文件信息集合,确定多个软件开发工具包和多个软件开发工具包彼此之间的关联关系信息,因而至少部分地克服了相关技术中由于操作系统和软件开发工具包之间的互相调用容易存在冲突的技术问题,保障了基于不同开发工具的软件开发工具包的适用性。在此基础上,由于应用程序安装包是根据多个软件开发工具包彼此之间的关联关系信息生成的,因而实
现了基于不同开发工具的软件开发工具包的集成,由此提高了应用程序安装包适用不同场景的能力。
附图说明
54.通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
55.图1示意性示出了根据本公开实施例的可以应用应用程序安装包的生成方法的系统架构;
56.图2示意性示出了根据本公开实施例的应用程序安装包的生成方法的流程图;
57.图3a示意性示出了根据本公开实施例的响应于接收到应用程序安装包生成请求,根据应用程序安装包生成请求中的应用程序信息,获取动态链接库集合方法的流程图;
58.图3b示意性示出了根据本公开实施例的响应于接收到应用程序安装包生成请求,根据应用程序安装包生成请求中的应用程序信息,获取动态链接库集合过程的示例示意图;
59.图4示意性示出了根据本公开实施例的根据m个第一动态链接库和n个第二动态链接库,确定通用文件信息集合和区别文件信息集合过程的示例示意图;
60.图5示意性示出了根据本公开实施例的根据通用文件信息集合和区别文件信息集合,确定多个软件开发工具包和多个软件开发工具包彼此之间的关联关系信息过程的示例示意图;
61.图6示意性示出了根据本公开实施例的应用程序安装包的生成过程的示例示意图;
62.图7示意性示出了根据本公开的实施例的应用程序安装包的生成装置的框图;以及
63.图8示意性示出了根据本公开实施例的适于实现应用程序安装包的生成方法的电子设备的框图。
具体实施方式
64.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
65.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
66.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
67.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本
领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
68.在本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
69.在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
70.可以基于unity技术生成android项目和/或ios(internetworking operating system-cisco)项目。android项目和/或ios项目具有适用的unity场景。场景(即scene)可以指某一环境中的物品、建筑、人物、背景、声音和特效等。unity场景可以理解为视图,通过该视图,可以编辑、布置用户所能接收到的图像、声音和文字等。unity sdk可以指跨平台的软件开发工具包,用于开发虚拟现实、增强现实和三维网页应用程序。
71.但是。由于操作系统和软件开发工具包之间的互相调用容易存在冲突,因而无法保障基于unity的软件开发工具包的适用性。
72.为了至少部分地解决相关技术中存在的技术问题,本公开提供了一种本公开提供了一种应用程序安装包的生成方法及装置、电子设备和存储介质,可以应用于计算机技术、互联网技术和金融领域。该应用程序安装包的生成方法包括:响应于接收到应用程序安装包生成请求,根据应用程序安装包生成请求中的应用程序信息,获取动态链接库集合,其中,动态链接库集合至少包括通过第一开发工具得到的m个第一动态链接库和通过第二开发工具得到的n个第二动态链接库,m和n均为正整数;根据m个第一动态链接库和n个第二动态链接库,确定通用文件信息集合和区别文件信息集合;根据通用文件信息集合和区别文件信息集合,确定多个软件开发工具包和多个软件开发工具包彼此之间的关联关系信息;根据多个软件开发工具包彼此之间的关联关系信息,生成应用程序安装包。
73.需要说明的是,本公开实施例提供的应用程序安装包的生成方法和装置可用于计算机技术、互联网技术和金融领域,例如应用于软件技术领域。本公开实施例提供的应用程序安装包的生成方法和装置也可用于除计算机技术、互联网技术和金融领域之外的任意领域,例如应用于元宇宙技术领域。本公开实施例提供的应用程序安装包的生成方法和装置的应用领域不做限定。
74.图1示意性示出了根据本公开实施例的可以应用应用程序安装包的生成方法的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
75.如图1所示,根据该实施例的系统架构100可以包括第一终端设备101、第二终端设备102、第三终端设备103,网络104和服务器105。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
76.用户可以使用第一终端设备101、第二终端设备102、第三终端设备103中的至少一个通过网络104与服务器105交互,以接收或发送消息等。第一终端设备101、第二终端设备102、第三终端设备103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
77.第一终端设备101、第二终端设备102、第三终端设备103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
78.服务器105可以是提供各种服务的服务器,例如对用户利用第一终端设备101、第二终端设备102、第三终端设备103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
79.需要说明的是,本公开实施例所提供的应用程序安装包的生成方法一般可以由服务器105执行。相应地,本公开实施例所提供的应用程序安装包的生成装置一般可以设置于服务器105中。本公开实施例所提供的应用程序安装包的生成方法也可以由不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的应用程序安装包的生成装置也可以设置于不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群中。
80.备选地,本公开实施例所提供的应用程序安装包的生成方法也可以由第一终端设备101、第二终端设备102或第三终端设备103执行,或者也可以由不同于第一终端设备101、第二终端设备102或第三终端设备103的其他终端设备执行。相应地,本公开实施例所提供的应用程序安装包的生成装置也可以设置于第一终端设备101、第二终端设备102或第三终端设备103中,或设置于不同于第一终端设备101、第二终端设备102或第三终端设备103的其他终端设备中。
81.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
82.应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
83.图2示意性示出了根据本公开实施例的应用程序安装包的生成方法的流程图。
84.如图2所示,该应用程序安装包的生成方法200包括操作s210~s240。
85.在操作s210,响应于接收到应用程序安装包生成请求,根据应用程序安装包生成请求中的应用程序信息,获取动态链接库集合,其中,动态链接库集合至少包括通过第一开发工具得到的m个第一动态链接库和通过第二开发工具得到的n个第二动态链接库,m和n均为正整数。
86.在操作s220,根据m个第一动态链接库和n个第二动态链接库,确定通用文件信息集合和区别文件信息集合。
87.在操作s230,根据通用文件信息集合和区别文件信息集合,确定多个软件开发工具包和多个软件开发工具包彼此之间的关联关系信息。
88.在操作s240,根据多个软件开发工具包彼此之间的关联关系信息,生成应用程序安装包。
89.根据本公开的实施例,应用程序安装包(即install pack)可以指能够自行解压缩文件的集合。应用程序安装包可以包括用于软件安装的所有文件。通过运行应用程序安装包可以将该软件的所有文件释放到硬盘上,以完成修改注册表、修改系统设置和创建快捷方式等工作。
90.根据本公开的实施例,可以将生成应用程序安装包生成请求的脚本预先存储于客户端中。响应于检测到用户发起的针对目标应用程序的应用程序安装包生成操作,客户端可以获取与目标应用程序对应的应用程序信息。根据应用程序信息,生成应用程序安装包生成请求。客户端可以将应用程序安装包生成请求发送至服务器,以便于服务器根据应用程序安装包生成请求获取动态链接库(dynamic link library,dll)集合。
91.根据本公开的实施例,程序安装包生成请求可以包括开发平台信息和功能需求信息。开发平台信息可以用于表征与应用程序对应的移动操作系统。开发平台信息可以包括以下至少之一:安卓(android)平台和ios(internetworking operating system-cisco)平台。功能需求信息可以用于表征与应用程序对应的功能需求。功能需求信息可以包括以下至少之一:登录功能、虚拟数字人功能、虚拟营业厅功能、支付功能和信息推送功能。
92.根据本公开的实施例,在接收到程序安装包生成请求之后,可以根据开发平台信息和功能需求信息确定至少一个动态链接库标识。动态链接库标识可以用于标识不同的动态链接库。动态链接库可以是基于不同开发工具得到的。可以根据至少一个动态链接库标识,获取动态链接库集合。
93.例如,至少一个动态链接库标识可以至少包括m个第一动态链接库标识和n个第二动态链接库标识。与m个第一动态链接库标识各自对应的第一动态链接库可以是基于第一开发工具得到的。第一开发工具可以指第一unity引擎。与n个第二动态链接库标识各自对应的第二动态链接库可以是基于第二开发工具得到的。第二开发工具可以指第二unity引擎。
94.根据本公开的实施例,动态链接库集合的获取方式可以根据实际业务需求进行设置,在此不作限定。例如,动态链接库集合可以是通过实时采集获取的,即可以获取用户经由应用程序安装包生成操作输入的动态链接库集合。备选地,动态链接库集合也可以是从数据源中获取的。数据源可以包括以下至少之一:本地数据库、云数据库和网络资源。例如,可以调用数据接口,利用数据接口从数据源中获取动态链接库集合。备选地,动态链接库集合可以是接收自其它终端设备发送的。
95.根据本公开的实施例,每个动态链接库中可以包括至少一个文件标识和与至少一个文件标识各自对应的文件信息。例如,m个第一动态链接库中的每个第一动态链接库可以各自包括至少一个第一候选文件标识和与至少一个第一候选文件标识各自对应的第一候选文件信息。n个第二动态链接库中的每个第二动态链接库可以各自包括至少一个第二候选文件标识和与至少一个第二候选文件标识各自对应的第二候选文件信息。
96.根据本公开的实施例,在获得动态链接库集合之后,针对至少一个第一候选文件标识中的每个第一候选文件标识,在确定至少一个第二候选文件标识中存在与第一候选文件标识相匹配的第二候选文件标识的情况下,可以根据第一候选文件标识和第一候选文件
信息,构建通用文件信息集合。
97.根据本公开的实施例,在获得动态链接库集合之后,针对至少一个第一候选文件标识中的每个第一候选文件标识,在确定至少一个第二候选文件标识中不存在与第一候选文件标识相匹配的第二候选文件标识的情况下,可以根据第一候选文件标识、第一候选文件信息、第二候选文件标识和第二候选文件信息,构建区别文件信息集合。
98.根据本公开的实施例,在获得通用文件信息集合和区别文件信息集合之后,可以根据通用文件信息集合,生成与通用文件信息集合对应的软件开发工具包。根据区别文件信息集合,生成与区别文件信息集合对应的软件开发工具包。关联关系信息可以用于表征多个软件开发工具包彼此之间的关联关系。
99.根据本公开的实施例,在获得多个软件开发工具包和多个软件开发工具包彼此之间的关联关系之后,可以根据多个软件开发工具包彼此之间的关联关系,对多个软件开发工具包进行关联处理,得到应用程序安装包。
100.根据本公开的实施例,由于m个第一动态链接库是通过第一开发工具得到的,n个第二动态链接库是通过第二开发工具得到的,通过根据m个第一动态链接库和n个第二动态链接库,确定通用文件信息集合和区别文件信息集合,并根据通用文件信息集合和区别文件信息集合,确定多个软件开发工具包和多个软件开发工具包彼此之间的关联关系信息,因而至少部分地克服了相关技术中由于操作系统和软件开发工具包之间的互相调用容易存在冲突的技术问题,保障了基于不同开发工具的软件开发工具包的适用性。在此基础上,由于应用程序安装包是根据多个软件开发工具包彼此之间的关联关系信息生成的,因而实现了基于不同开发工具的软件开发工具包的集成,由此提高了应用程序安装包适用不同场景的能力。
101.下面参考图3a、图3b、图4、图5和图6,对根据本发明实施例的应用程序安装包的生成方法200做进一步说明。
102.根据本公开的实施例,应用程序安装包的生成方法200还可以包括如下操作。
103.根据开发平台信息,确定与开发平台信息对应的系统开发环境。基于系统开发环境,创建初始开发工程。
104.根据本公开的实施例,系统开发环境(software development environment,sde)可以指在基本硬件和数字软件的基础上,为了支持系统软件和应用软件的工程化开发和维护而使用的软件。可以根据开发平台信息,确定与开发平台信息对应的系统开发环境。可以基于系统开发环境,创建初始开发工程。例如,在开发平台信息为安卓平台的情况下,可以确定与安卓平台对应的安卓系统开发环境。备选地,在开发平台信息为ios平台的情况下,可以确定与ios平台对应的ios系统开发环境。
105.图3a示意性示出了根据本公开实施例的响应于接收到应用程序安装包生成请求,根据应用程序安装包生成请求中的应用程序信息,获取动态链接库集合方法的流程图。
106.如图3a所示,操作s210可以包括操作s311~s313。
107.在操作s311,响应于接收到应用程序安装包生成请求,根据开发平台信息,确定p个候选动态链接库标识。
108.在操作s312,根据功能需求信息,在p个候选动态链接库标识中确定q个动态链接库标识,其中,p大于或等于q。
109.在操作s313,根据q个动态链接库标识,获取m个第一动态链接库和n个第二动态链接库,其中,q=m+n。
110.根据本公开的实施例,应用程序信息可以包括开发平台信息和功能需求信息。
111.根据本公开的实施例,开发平台信息可以用于表征与应用程序对应的移动操作系统。开发平台信息可以包括以下至少之一:安卓平台和ios平台。功能需求信息可以用于表征与应用程序对应的功能需求。功能需求信息可以包括以下至少之一:登录功能、虚拟数字人功能、虚拟营业厅功能、支付功能和信息推送功能。
112.根据本公开的实施例,在接收到应用程序安装包生成请求之后,可以根据开发平台信息,对至少一个候选动态链接库标识进行初次筛选,得到与开发平台信息对应的p个候选动态链接库标识。在获得p个候选动态链接库标识之后,可以根据功能需求信息,对p个候选动态链接库标识进行再次筛选,得到与功能需求信息对应的q个动态链接库标识。
113.根据本公开的实施例,q个动态链接库标识中可以包括通过不同开发工具得到的动态链接库。例如,在q=m+n的情况下,可以根据q个动态链接库标识,获取m个第一动态链接库和n个第二动态链接库。备选地,在q=a+b+c的情况下,可以根据q个动态链接库标识,获取a个第三动态链接库、b个第四动态链接库和c个第五动态链接库。a、b和c均为正整数。第三动态链接库可以是通过第三开发工具得到的。第四动态链接库可以是通过第四开发工具得到的。第五动态链接库可以是通过第五开发工具得到的。
114.根据本公开的实施例,操作s312可以包括如下操作。
115.根据第一功能需求子信息,在p个候选动态链接库标识中确定m个动态链接库标识。根据第二功能需求子信息,在p个候选动态链接库标识中确定n个动态链接库标识。
116.根据本公开的实施例,操作s313可以包括如下操作。
117.根据m个动态链接库标识,获取m个第一动态链接库。根据n个动态链接库标识,获取n个第二动态链接库。
118.根据本公开的实施例,功能需求信息至少可以包括第一功能需求子信息和第二功能需求子信息。
119.根据本公开的实施例,第一功能需求子信息和第二功能需求子信息均包括以下之一:登录功能、虚拟数字人功能、虚拟营业厅功能、支付功能和信息推送功能。
120.根据本公开的实施例,例如,在第一功能需求子信息包括虚拟数字人功能、第二功能需求子信息包括虚拟营业厅功能的情况下,可以在p个候选动态链接库标识中确定用于实现虚拟数字人功能的m个动态链接库标识。在p个候选动态链接库标识中确定用于实现虚拟虚拟营业厅功能的n个动态链接库标识。
121.根据本公开的实施例,备选地,在第三功能需求子信息包括登录功能、第四功能需求子信息包括支付功能、第五功能需求子信息包括信息推送功能的情况下,可以在p个候选动态链接库标识中确定用于实现登录功能的a个动态链接库标识。在p个候选动态链接库标识中确定用于实现支付功能的b个动态链接库标识。在p个候选动态链接库标识中确定用于实现信息推送功能的c个动态链接库标识。
122.根据本公开的实施例,由于q个动态链接库标识是根据功能需求信息在p个候选动态链接库标识中确定的,p个候选动态链接库标识是根据开发平台信息确定的,因此与q个动态链接库标识各自对应的动态链接库能够集成不同应用场景。在此基础上,通过根据q个
动态链接库标识,获取m个第一动态链接库和n个第二动态链接库,使得后续生成的应用程序安装包能够实现不同的功能需求,进而提高了应用程序安装包适用不同场景的能力。
123.图3b示意性示出了根据本公开实施例的响应于接收到应用程序安装包生成请求,根据应用程序安装包生成请求中的应用程序信息,获取动态链接库集合过程的示例示意图。
124.如图3b所示,在300b中,响应于接收到应用程序安装包生成请求301,应用程序安装包生成请求301可以包括开发平台信息301_1和功能需求信息。可以根据应用程序安装包生成请求301中的开发平台信息301_1,确定p个候选动态链接库标识302。
125.功能需求信息可以至少包括第一功能需求子信息303和第二功能需求子信息304。可以根据第一功能需求子信息303,在p个候选动态链接库标识302中确定m个动态链接库标识305。在此基础上,可以根据m个动态链接库标识305,获取m个第一动态链接库306。
126.可以根据第二功能需求子信息304,在p个候选动态链接库标识302中确定n个动态链接库标识307。在此基础上,可以根据n个动态链接库标识307,获取n个第二动态链接库308。
127.根据本公开的实施例,操作s220可以包括如下操作。
128.针对至少一个第一候选文件标识中的每个第一候选文件标识,将第一候选文件标识与至少一个第二候选文件标识分别进行匹配,得到匹配结果。在匹配结果表征至少一个第二候选文件标识中存在与第一候选文件标识相匹配的第二候选文件标识的情况下,将第一候选文件标识和与第一候选文件标识对应的第一候选文件信息,关联存储至通用文件信息集合。在匹配结果表征至少一个第二候选文件标识中不存在与第一候选文件标识相匹配的第二候选文件标识的情况下,将第一候选文件标识和与第一候选文件标识对应的第一候选文件信息,关联存储至区别文件信息集合。将第二候选文件标识和与第二候选文件标识对应的第二候选文件信息,关联存储至区别文件信息集合。
129.根据本公开的实施例,m个第一动态链接库中的每个第一动态链接库可以各自包括至少一个第一候选文件标识和与至少一个第一候选文件标识各自对应的第一候选文件信息。
130.根据本公开的实施例,n个第二动态链接库中的每个第二动态链接库可以各自包括至少一个第二候选文件标识和与至少一个第二候选文件标识各自对应的第二候选文件信息。
131.根据本公开的实施例,第一候选文件信息和第二候选文件信息可以各自具有文件类型。例如,文件类型可以包括以下至少之一:代码文件、资源文件和库文件(例如,.dll文件和.so文件)。
132.根据本公开的实施例,通用文件信息集合可以用于存储通过不同开发工具得到的动态链接库中相匹配的文件信息。例如,在至少一个第二候选文件标识中存在与第一候选文件标识相匹配的第二候选文件标识的情况下,可以将第一候选文件标识和与第一候选文件标识对应的第一候选文件信息,关联存储至通用文件信息集合。
133.根据本公开的实施例,区别文件信息集合可以用于存储通过不同开发工具得到的动态链接库中未匹配的文件信息。例如,在至少一个第二候选文件标识中不存在与第一候选文件标识相匹配的第二候选文件标识的情况下,可以将第一候选文件标识和与第一候选
文件标识对应的第一候选文件信息、第二候选文件标识和与第二候选文件标识对应的第二候选文件信息,分别关联存储至区别文件信息集合。
134.图4示意性示出了根据本公开实施例的根据m个第一动态链接库和n个第二动态链接库,确定通用文件信息集合和区别文件信息集合过程的示例示意图。
135.如图4所示,在400中,m个第一动态链接库中的每个第一动态链接库401可以各自包括至少一个第一候选文件标识401_1和与至少一个第一候选文件标识401_1各自对应的第一候选文件信息401_2。n个第二动态链接库中的每个第二动态链接库402可以各自包括至少一个第二候选文件标识402_1和与至少一个第二候选文件标识402_1各自对应的第二候选文件信息402_2。
136.针对至少一个第一候选文件标识401_1中的每个第一候选文件标识401_1,可以将第一候选文件标识401_1与至少一个第二候选文件标识402_1分别进行匹配,得到匹配结果403。在获得匹配结果403之后,可以执行操作s410。
137.在操作s410,匹配结果表征至少一个第二候选文件标识中存在与第一候选文件标识相匹配的第二候选文件标识?
138.若是,则可以将第一候选文件标识401_1和与第一候选文件标识401_1对应的第一候选文件信息401_2,关联存储至通用文件信息集合404。
139.若否,则可以将第一候选文件标识401_1和与第一候选文件标识401_1对应的第一候选文件信息401_2,关联存储至区别文件信息集合405。将第二候选文件标识402_1和与第二候选文件标识402_1对应的第二候选文件信息402_2,关联存储至区别文件信息集合405。
140.根据本公开的实施例,操作s230可以包括如下操作。
141.针对至少一个通用文件信息中的每个通用文件信息,根据通用文件信息,生成与通用文件标识对应的软件开发工具包。针对至少一个区别文件信息中的每个区别文件信息,根据区别文件信息,生成与区别文件标识对应的软件开发工具包。根据与通用文件信息对应的通用文件标识和与区别文件信息对应的区别文件标识,确定关联关系信息。
142.根据本公开的实施例,通用文件信息集合可以包括至少一个通用文件信息和与至少一个通用文件信息各自对应的通用文件标识。区别文件信息集合包括至少一个区别文件信息和与至少一个区别文件信息各自对应的区别文件标识。
143.根据本公开的实施例,可以将抽取后的动态链接库导出为软件开发工具包。例如,可以根据通用文件信息,生成与通用文件标识对应的软件开发工具包。可以根据区别文件信息,生成与区别文件标识对应的软件开发工具包。
144.根据本公开的实施例,在获得多个软件开发工具包之后,可以根据与通用文件信息对应的通用文件标识和与区别文件信息对应的区别文件标识,确定关联关系信息。关联关系信息可以用于表征多个软件开发工具包之间的调用关系。
145.例如,在通用文件标识包括t1、区别文件标识包括q1和q2的情况下,可以将与通用文件标识包括t1对应的软件开发工具包放置到主程序中,将与区别文件标识q1对应的软件开发工具包放置到第一调用程序中,将与区别文件标识q2对应的软件开发工具包放置到第二调用程序中,在此情况下,可以根据主程序、第一调用程序和第二调用程序配置运行目录。
146.图5示意性示出了根据本公开实施例的根据通用文件信息集合和区别文件信息集
合,确定多个软件开发工具包和多个软件开发工具包之间的关联关系信息过程的示例示意图。
147.如图5所示,在500中,通用文件信息集合501可以包括至少一个通用文件信息501_1和与至少一个通用文件信息501_1各自对应的通用文件标识501_2。区别文件信息集合503可以包括至少一个区别文件信息503_1和与至少一个区别文件信息503_1各自对应的区别文件标识503_2。
148.针对至少一个通用文件信息501_1中的每个通用文件信息501_1,可以根据通用文件信息501_1,生成与通用文件标识501_2对应的软件开发工具包502。
149.针对至少一个区别文件信息503_1中的每个区别文件信息503_1,可以根据区别文件信息503_1,生成与区别文件标识503_2对应的软件开发工具包504。
150.可以根据与通用文件信息501_1对应的通用文件标识501_2和与区别文件信息503_1对应的区别文件标识503_2,确定关联关系信息505。
151.根据本公开的实施例,操作s240可以包括如下操作。
152.根据多个软件开发工具包彼此之间的关联关系信息,将多个软件开发工具包集成至初始开发工程,得到目标开发工程。对目标项目工程进行编译,得到应用程序安装包。
153.根据本公开的实施例,在获得关联关系信息之后,可以根据多个软件开发工具包彼此之间的关联关系信息,将多个软件开发工具包分别集成至初始开发工程中的目标位置,得到目标开发工程。可以对目标项目工程进行编译(即compile),得到应用程序安装包。编译可以指利用编译程序将源语言编写的目标项目工程生成目标应用程序的过程。
154.图6示意性示出了根据本公开实施例的应用程序安装包的生成过程的示例示意图。
155.如图6所示,在600中,响应于接收到应用程序安装包生成请求601,可以根据应用程序安装包生成请求601中的开发平台信息601_2,确定与开发平台信息601_2对应的系统开发环境602。基于系统开发环境602,创建初始开发工程603。
156.可以根据应用程序安装包生成请求601中的应用程序信息601_1,获取动态链接库集合604。动态链接库集合604可以至少包括通过第一开发工具得到的m个第一动态链接库604_1和通过第二开发工具得到的n个第二动态链接库604_2。
157.可以根据m个第一动态链接库604_1和n个第二动态链接库604_2,确定通用文件信息集合605和区别文件信息集合606。
158.可以根据通用文件信息集合605和区别文件信息集合606,确定多个软件开发工具包607和多个软件开发工具包607彼此之间的关联关系信息608。
159.可以根据多个软件开发工具包607之间的关联关系信息608,将多个软件开发工具包607集成至初始开发工程603,得到目标开发工程609。可以对目标项目工程609进行编译,得到应用程序安装包610。
160.以上仅是示例性实施例,但不限于此,还可以包括本领域已知的其他应用程序安装包的生成方法,只要能够保障基于不同开发工具的软件开发工具包的适用性,提高应用程序安装包适用不同场景的能力即可。
161.图7示意性示出了根据本公开的实施例的应用程序安装包的生成装置的框图。
162.如图7所示,应用程序安装包的生成装置700可以包括获取模块710、第一确定模块
720、第二确定模块730和生成模块740。
163.获取模块710,用于响应于接收到应用程序安装包生成请求,根据应用程序安装包生成请求中的应用程序信息,获取动态链接库集合,其中,动态链接库集合至少包括通过第一开发工具得到的m个第一动态链接库和通过第二开发工具得到的n个第二动态链接库,m和n均为正整数。
164.第一确定模块720,用于根据m个第一动态链接库和n个第二动态链接库,确定通用文件信息集合和区别文件信息集合。
165.第二确定模块730,用于根据通用文件信息集合和区别文件信息集合,确定多个软件开发工具包和多个软件开发工具包彼此之间的关联关系信息。
166.生成模块740,用于根据多个软件开发工具包彼此之间的关联关系信息,生成应用程序安装包。
167.根据本公开的实施例,应用程序信息包括开发平台信息和功能需求信息。
168.根据本公开的实施例,获取模块710可以包括第一确定单元、第二确定单元和获取单元。
169.第一确定单元,用于响应于接收到应用程序安装包生成请求,根据开发平台信息,确定p个候选动态链接库标识。
170.第二确定单元,用于根据功能需求信息,在p个候选动态链接库标识中确定q个动态链接库标识,其中,p大于或等于q。
171.获取单元,用于根据q个动态链接库标识,获取m个第一动态链接库和n个第二动态链接库,其中,q=m+n。
172.根据本公开的实施例,功能需求信息至少包括第一功能需求子信息和第二功能需求子信息。
173.根据本公开的实施例,第二确定单元可以包括第一确定子单元和第二确定子单元。
174.第一确定子单元,用于根据第一功能需求子信息,在p个候选动态链接库标识中确定m个动态链接库标识。
175.第二确定子单元,用于根据第二功能需求子信息,在p个候选动态链接库标识中确定n个动态链接库标识。
176.根据本公开的实施例,获取单元可以包括第一获取子单元和第二获取子单元。
177.第一获取子单元,用于根据m个动态链接库标识,获取m个第一动态链接库。
178.第二获取子单元,用于根据n个动态链接库标识,获取n个第二动态链接库。
179.根据本公开的实施例,第一功能需求子信息和第二功能需求子信息均包括以下之一:登录功能、虚拟数字人功能、虚拟营业厅功能、支付功能和信息推送功能。
180.根据本公开的实施例,m个第一动态链接库中的每个第一动态链接库各自包括至少一个第一候选文件标识和与至少一个第一候选文件标识各自对应的第一候选文件信息。
181.根据本公开的实施例,n个第二动态链接库中的每个第二动态链接库各自包括至少一个第二候选文件标识和与至少一个第二候选文件标识各自对应的第二候选文件信息。
182.根据本公开的实施例,第一确定模块720可以包括匹配单元、第一存储单元、第二存储单元和第三存储单元。
183.匹配单元,用于针对至少一个第一候选文件标识中的每个第一候选文件标识,将第一候选文件标识与至少一个第二候选文件标识分别进行匹配,得到匹配结果。
184.第一存储单元,用于在匹配结果表征至少一个第二候选文件标识中存在与第一候选文件标识相匹配的第二候选文件标识的情况下,将第一候选文件标识和与第一候选文件标识对应的第一候选文件信息,关联存储至通用文件信息集合。
185.第二存储单元,用于在匹配结果表征至少一个第二候选文件标识中不存在与第一候选文件标识相匹配的第二候选文件标识的情况下,将第一候选文件标识和与第一候选文件标识对应的第一候选文件信息,关联存储至区别文件信息集合。
186.第三存储单元,用于将第二候选文件标识和与第二候选文件标识对应的第二候选文件信息,关联存储至区别文件信息集合。
187.根据本公开的实施例,通用文件信息集合包括至少一个通用文件信息和与至少一个通用文件信息各自对应的通用文件标识,区别文件信息集合包括至少一个区别文件信息和与至少一个区别文件信息各自对应的区别文件标识。
188.根据本公开的实施例,第二确定模块730可以包括第一生成单元、第二生成单元和第三确定单元。
189.第一生成单元,用于针对至少一个通用文件信息中的每个通用文件信息,根据通用文件信息,生成与通用文件标识对应的软件开发工具包。
190.第二生成单元,用于针对至少一个区别文件信息中的每个区别文件信息,根据区别文件信息,生成与区别文件标识对应的软件开发工具包。
191.第三确定单元,用于根据与通用文件信息对应的通用文件标识和与区别文件信息对应的区别文件标识,确定关联关系信息。
192.根据本公开的实施例,应用程序安装包的生成装置700还可以包括第三确定模块和创建模块。
193.第三确定模块,用于根据开发平台信息,确定与开发平台信息对应的系统开发环境。
194.创建模块,用于基于系统开发环境,创建初始开发工程。
195.根据本公开的实施例,生成模块740可以包括集成单元和编译单元。
196.集成单元,用于根据多个软件开发工具包彼此之间的关联关系信息,将多个软件开发工具包集成至初始开发工程,得到目标开发工程。
197.编译单元,用于对目标项目工程进行编译,得到应用程序安装包。
198.根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
199.例如,获取模块710、第一确定模块720、第二确定模块730和生成模块740中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,获取模块710、第一确定模块720、第二确定模块730和生成模块740中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块710、第一确定模块720、第二确定模块730和生成模块740中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
200.需要说明的是,本公开的实施例中应用程序安装包的生成装置部分与本公开的实施例中应用程序安装包的生成方法部分是相对应的,应用程序安装包的生成装置部分的描述具体参考应用程序安装包的生成方法部分,在此不再赘述。
201.图8示意性示出了根据本公开实施例的适于实现应用程序安装包的生成方法的电子设备的框图。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
202.如图8所示,根据本公开实施例的计算机电子设备800包括处理器801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分809加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
203.在ram 803中,存储有电子设备800操作所需的各种程序和数据。处理器801、rom 802以及ram 803通过总线804彼此相连。处理器801通过执行rom 802和/或ram 803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom802和ram 803以外的一个或多个存储器中。处理器801也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
204.根据本公开的实施例,电子设备800还可以包括输入/输出(i/o)接口805,输入/输出(i/o)接口805也连接至总线804。电子设备800还可以包括连接至输入/输出(i/o)接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至输入/输出(i/o)接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
205.根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上
的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
206.本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
207.根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
208.例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 802和/或ram 803和/或rom 802和ram 803以外的一个或多个存储器。
209.本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的应用程序安装包的生成方法。
210.在该计算机程序被处理器801执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
211.在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分809被下载和安装,和/或从可拆卸介质811被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
212.根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c++,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
213.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
214.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

技术特征:
1.一种应用程序安装包的生成方法,包括:响应于接收到应用程序安装包生成请求,根据所述应用程序安装包生成请求中的应用程序信息,获取动态链接库集合,其中,所述动态链接库集合至少包括通过第一开发工具得到的m个第一动态链接库和通过第二开发工具得到的n个第二动态链接库,m和n均为正整数;根据所述m个第一动态链接库和所述n个第二动态链接库,确定通用文件信息集合和区别文件信息集合;根据所述通用文件信息集合和所述区别文件信息集合,确定多个软件开发工具包和所述多个软件开发工具包彼此之间的关联关系信息;以及根据所述多个软件开发工具包彼此之间的关联关系信息,生成应用程序安装包。2.根据权利要求1所述的方法,其中,所述应用程序信息包括开发平台信息和功能需求信息;所述响应于接收到应用程序安装包生成请求,根据所述应用程序安装包生成请求中的应用程序信息,获取动态链接库集合包括:响应于接收到所述应用程序安装包生成请求,根据所述开发平台信息,确定p个候选动态链接库标识;根据所述功能需求信息,在所述p个候选动态链接库标识中确定q个动态链接库标识,其中,p大于或等于q;以及根据所述q个动态链接库标识,获取所述m个第一动态链接库和所述n个第二动态链接库,其中,q=m+n。3.根据权利要求2所述的方法,其中,所述功能需求信息至少包括第一功能需求子信息和第二功能需求子信息;所述根据所述功能需求信息,在所述p个候选动态链接库标识中确定q个动态链接库标识包括:根据所述第一功能需求子信息,在所述p个候选动态链接库标识中确定m个动态链接库标识;以及根据所述第二功能需求子信息,在所述p个候选动态链接库标识中确定n个动态链接库标识;所述根据所述q个动态链接库标识,获取所述m个第一动态链接库和所述n个第二动态链接库包括:根据所述m个动态链接库标识,获取所述m个第一动态链接库;以及根据所述n个动态链接库标识,获取所述n个第二动态链接库。4.根据权利要求2所述的方法,其中,所述第一功能需求子信息和所述第二功能需求子信息均包括以下之一:登录功能、虚拟数字人功能、虚拟营业厅功能、支付功能和信息推送功能。5.根据权利要求1至4中任一项所述的方法,其中,所述m个第一动态链接库中的每个所述第一动态链接库各自包括至少一个第一候选文件标识和与所述至少一个第一候选文件标识各自对应的第一候选文件信息;所述n个第二动态链接库中的每个所述第二动态链接库各自包括至少一个第二候选文
件标识和与所述至少一个第二候选文件标识各自对应的第二候选文件信息;所述根据所述m个第一动态链接库和所述n个第二动态链接库,确定通用文件信息集合和区别文件信息集合包括:针对所述至少一个第一候选文件标识中的每个第一候选文件标识,将所述第一候选文件标识与所述至少一个第二候选文件标识分别进行匹配,得到匹配结果;在所述匹配结果表征所述至少一个第二候选文件标识中存在与所述第一候选文件标识相匹配的第二候选文件标识的情况下,将所述第一候选文件标识和与所述第一候选文件标识对应的第一候选文件信息,关联存储至所述通用文件信息集合;在所述匹配结果表征所述至少一个第二候选文件标识中不存在与所述第一候选文件标识相匹配的第二候选文件标识的情况下,将所述第一候选文件标识和与所述第一候选文件标识对应的第一候选文件信息,关联存储至所述区别文件信息集合;以及将所述第二候选文件标识和与所述第二候选文件标识对应的第二候选文件信息,关联存储至所述区别文件信息集合。6.根据权利要求1至4中任一项所述的方法,其中,所述通用文件信息集合包括至少一个通用文件信息和与所述至少一个通用文件信息各自对应的通用文件标识,所述区别文件信息集合包括至少一个区别文件信息和与所述至少一个区别文件信息各自对应的区别文件标识;所述根据所述通用文件信息集合和所述区别文件信息集合,确定多个软件开发工具包和所述多个软件开发工具包彼此之间的关联关系信息包括:针对所述至少一个通用文件信息中的每个通用文件信息,根据所述通用文件信息,生成与所述通用文件标识对应的软件开发工具包;针对所述至少一个区别文件信息中的每个区别文件信息,根据所述区别文件信息,生成与所述区别文件标识对应的软件开发工具包;以及根据与所述通用文件信息对应的通用文件标识和与所述区别文件信息对应的区别文件标识,确定所述关联关系信息。7.根据权利要求2所述的方法,还包括:根据所述开发平台信息,确定与所述开发平台信息对应的系统开发环境;以及基于所述系统开发环境,创建初始开发工程。8.根据权利要求7所述的方法,其中,所述根据所述多个软件开发工具包和所述多个软件开发工具包彼此之间的关联关系信息,生成应用程序安装包包括:根据所述多个软件开发工具包之间的关联关系信息,将所述多个软件开发工具包集成至所述初始开发工程,得到目标开发工程;以及对所述目标项目工程进行编译,得到所述应用程序安装包。9.一种应用程序安装包的生成装置,包括:获取模块,用于响应于接收到应用程序安装包生成请求,根据所述应用程序安装包生成请求中的应用程序信息,获取动态链接库集合,其中,所述动态链接库集合至少包括通过第一开发工具得到的m个第一动态链接库和通过第二开发工具得到的n个第二动态链接库,m和n均为正整数;
第一确定模块,用于根据所述m个第一动态链接库和所述n个第二动态链接库,确定通用文件信息集合和区别文件信息集合;第二确定模块,用于根据所述通用文件信息集合和所述区别文件信息集合,确定多个软件开发工具包和所述多个软件开发工具包彼此之间的关联关系信息;以及生成模块,用于根据所述多个软件开发工具包彼此之间的关联关系信息,生成应用程序安装包。10.一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个指令,其中,当所述一个或多个指令被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至8中任一项所述的方法。11.一种计算机可读存储介质,其上存储有可执行指令,所述可执行指令被处理器执行时使处理器实现权利要求1至8中任一项所述的方法。12.一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述计算机可执行指令在被执行时用于实现权利要求1至8中任一项所述的方法。

技术总结
本公开提供了一种应用程序安装包的生成方法及装置、电子设备和存储介质,可以应用于计算机技术、互联网技术和金融领域。该应用程序安装包的生成方法包括:响应于接收到应用程序安装包生成请求,根据应用程序安装包生成请求中的应用程序信息,获取动态链接库集合,其中,动态链接库集合至少包括M个第一动态链接库和N个第二动态链接库;根据M个第一动态链接库和N个第二动态链接库,确定通用文件信息集合和区别文件信息集合;根据通用文件信息集合和区别文件信息集合,确定多个软件开发工具包和多个软件开发工具包彼此之间的关联关系信息;根据多个软件开发工具包彼此之间的关联关系信息,生成应用程序安装包。生成应用程序安装包。生成应用程序安装包。


技术研发人员:李德强 杨先明 李峰 罗涛
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.04.28
技术公布日:2023/8/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐