CN113515269B - 应用包的处理方法、装置、计算机设备和存储介质 - Google Patents
应用包的处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113515269B CN113515269B CN202111065843.6A CN202111065843A CN113515269B CN 113515269 B CN113515269 B CN 113515269B CN 202111065843 A CN202111065843 A CN 202111065843A CN 113515269 B CN113515269 B CN 113515269B
- Authority
- CN
- China
- Prior art keywords
- application
- target
- customized
- target application
- application package
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种应用包的处理方法、装置、计算机设备和存储介质,应用于车载场景。所述方法包括:确定待进行应用定制化的目标车型;获取为目标车型定制应用所提交的对应至少一个定制项的配置信息;获取对目标应用的源码依次进行编译、打包处理生成的目标应用包;对目标应用包进行解压处理,得到至少一个目标文件;按照配置信息,对至少一个目标文件进行定制化处理后,将得到的定制化文件重新打包,得到适于目标车型的定制化应用包。采用本方法能够提升不同版本应用包的生成效率,提升发版效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用包的处理方法、装置、计算机设备和存储介质。
背景技术
近年来,汽车已经走入千家万户,随着互联网技术与网络通信技术的飞速发展,汽车也逐步网联化、智能化。为了给车主们带来更多便利,车载应用应运而生,例如,车载导航应用、车载社交应用、车载视听应用、车载支付应用等等。对于不同的车型,其车载操作系统存在差异,那么即便是同一个应用,开发人员不得不为不同的车型开发不同的版本,以能够适配不同的车型,在不同的车载操作系统上安装使用。
目前,对于车载应用的发版,通常是基于单个应用的发版处理流程,也即是,每个应用包以及每个不同版本的应用包均依靠开发人员依次通过编码或修改源码、编译、打包、适配车型处理后生成,导致应用包的发版效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升应用包的发版效率的应用包的处理方法、装置、计算机设备和存储介质。
一种应用包的处理方法,所述方法包括:
确定待进行应用定制化的目标车型;
获取为所述目标车型定制应用所提交的配置信息,所述配置信息包括至少一个定制项;
获取对目标应用的源码依次进行编译、打包处理生成的目标应用包;
对所述目标应用包进行解压处理,得到至少一个目标文件;
按照所述配置信息,对所述至少一个目标文件进行定制化处理后,将得到的定制化文件重新打包,得到适于所述目标车型的定制化应用包。
一种应用包的处理装置,所述装置包括:
车型确定模块,用于确定待进行应用定制化的目标车型;
配置信息获取模块,用于获取为所述目标车型定制应用所提交配置信息,所述配置信息包括至少一个定制项;
应用包获取模块,用于获取对目标应用的源码依次进行编译、打包处理生成的目标应用包;
应用包定制模块,用于对所述目标应用包进行解压处理,得到至少一个目标文件;按照所述配置信息,对所述至少一个目标文件进行定制化处理后,将得到的定制化文件重新打包,得到适于所述目标车型的定制化应用包。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
确定待进行应用定制化的目标车型;
获取为所述目标车型定制应用所提交的配置信息,所述配置信息包括至少一个定制项;
获取对目标应用的源码依次进行编译、打包处理生成的目标应用包;
对所述目标应用包进行解压处理,得到至少一个目标文件;
按照所述配置信息,对所述至少一个目标文件进行定制化处理后,将得到的定制化文件重新打包,得到适于所述目标车型的定制化应用包。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
确定待进行应用定制化的目标车型;
获取为所述目标车型定制应用所提交的配置信息,所述配置信息包括至少一个定制项;
获取对目标应用的源码依次进行编译、打包处理生成的目标应用包;
对所述目标应用包进行解压处理,得到至少一个目标文件;
按照所述配置信息,对所述至少一个目标文件进行定制化处理后,将得到的定制化文件重新打包,得到适于所述目标车型的定制化应用包。
一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行上述应用包的处理方法的步骤。
上述应用包的处理方法、装置、计算机设备和存储介质,在需要为目标车型定制目标应用的应用包时,获取为该目标车型定制应用包所需的对应每个定制项的配置信息,在获取目标应用的目标应用包后,对该目标应用包进行解压处理,得到目标文件,按照对应每个定制项的配置信息对该目标文件进行定制化处理后再重新打包,就可以得到适于该目标车型的定制化应用包,也就是说,开发人员只需要一次编码、编译获得目标应用包,就能够基于该目标应用包生成适配不同车型的定制化应用包,不需要二次编码、编译,从而提升不同版本应用包的生成效率,提升发版效率。
附图说明
图1为一个实施例中应用包的处理方法的应用环境图;
图2为相关技术中对车载应用发版的处理模式示意图;
图3为相关技术中生成定制化应用包的流程示意图;
图4为一个实施例中应用包的处理方法的流程示意图;
图5为一个实施例中定制化界面的界面示意图;
图6为一个实施例中应用包的处理框架示意图;
图7为一个实施例中发布应用包所需提交的参数的示意图;
图8为一个实施例中会签事项的示意图;
图9为一个实施例中创建用于构建应用的流水线的示意图;
图10为一个实施例中应用版本管理系统的模块示意图;
图11为一个实施例中应用包的处理方法的时序图;
图12为一个具体的实施例中应用包的处理方法的流程示意图;
图13为一个实施例中应用包的处理装置的结构框图;
图14为另一个实施例中应用包的处理装置的结构框图;
图15为又一个实施例中应用包的处理装置的结构框图;
图16为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的应用包的处理方法,可以应用于如图1所示的应用环境中。该应用环境为应用版本管理系统,包括终端102和应用版本管理服务器104,其中,终端102通过网络与应用版本管理服务器104进行通信。在一个实施例中,应用版本管理服务器104可以确定待进行应用定制化的目标车型;获取为目标车型定制应用所提交的配置信息,所述配置信息包括至少一个定制项;获取对目标应用的源码依次进行编译、打包处理生成的目标应用包;对目标应用包进行解压处理,得到至少一个目标文件;按照配置信息,对至少一个目标文件进行定制化处理后,将得到的定制化文件重新打包,得到适于目标车型的定制化应用包。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、车载终端和便携式可穿戴设备,应用版本管理服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,该应用版本管理系统包括提供给发版人员使用的前端网页以及为该网页提供相应的后台服务,该前端网页由终端102提供,该后台服务可以由应用版本管理服务器104提供。该应用包的处理方法通过网页与该后台服务之间的交互实现。该应用包的处理方法可以由终端102执行,也可以由应用版本管理服务器104执行,还可以由终端102与应用版本管理服务器104联合执行。
例如,发版人员可在需要为目标车型定制目标应用的定制化应用包时,通过终端102展示该应用版本管理系统的网页,发版人员在网页中打开定制化界面,发版人员从该定制化界面中选择待进行应用定制化的目标车型以及选择要定制的目标应用,提交为该目标车型定制应用对应至少一个定制项的配置信息,应用版本管理服务器104在获得该配置信息之后,从应用版本管理服务器的数据库中获取该目标应用的目标应用包,该目标应用包是通过对目标应用的源码依次进行编译、打包处理生成的,也可称之为公用应用包。参照图1,该目标应用包由应用构建服务器106构建后返回至应用版本管理服务器的。应用版本管理服务器104对该目标应用包进行解压处理,得到至少一个目标文件,按照配置信息,对至少一个目标文件进行定制化处理后,将得到的定制化文件重新打包,得到适于目标车型的定制化应用包。
在一个实施例中,应用版本管理服务器104还可以将该定制化应用包以及相应的版本信息、测试报告返回至终端102,由终端102将与该目标应用相关的版本信息记录至应用版本管理服务器的数据库中,以供发版人员通过该应用版本管理系统查询。在一个实施例中,应用版本管理服务器104还可以将该定制化应用包存放至相应的下载地址,以便车企公司的人员从该下载地址下载该定制化应用包后安装至目标车型的车载操作系统。
相关技术中,对于不同的车载应用或是车载应用不同版本的发布,通常是基于单个应用的发版处理流程,不管是不同应用的应用包,还是同一个应用不同版本的应用包,都是由开发人员通过编码或修改源码后,经过编译、打包,再针对不同车型做定制化的后处理得到的。其模式可参考图2。
参照图3,为相关技术中生成定制化应用包的流程示意图。参照图3,以目标应用为“应用X”为例,需要针对车型A与车型B分别定制化相应的应用包。相关技术中的处理流程通常为:应用X的开发人员,在开发出应用X(1.0版本)之后,当存在需要针对车型A与车型B生成相应的定制化版本时,开发人员针对车型A修改应用X的源码和配置信息,再经过编译打包后生成适于车型A的2.0版本的应用X,并针对车型B修改应用X的源码和配置信息,再经过编译打包后生成适于车型B的3.0版本的应用X。
可见,这种方式至少存在如下问题:其一,对于同一个车载应用,为适配不同的车型,需要开发人员经过二次甚至多次地编码、编译,导致生成定制化应用包的效率低下,操作繁琐。其二,开发人员各自开发不同的版本,这些定制化车载应用包及其相关版本信息,未能统一管理,而且开发人员直接负责这些定制化应用包的发布,流程混乱容易出错。其三,为不同车型开发的定制化应用包、为相同车型多次迭代更新的定制化应用包,均未能够统一管理,且已发布应用包的版本信息无从溯源,未能与车型关联,导致应用包的管理混乱。
本申请实施例提供的应用包的处理方法,可以基于目标应用的目标应用包生成适配不同车型的定制化应用包,不需要二次编码、编译,从而提升不同版本应用包的生成效率,提升发版效率。可以对车载应用以及车载应用不同版本的应用包及其相关版本信息进行统一管理,查询到历史版本应用包的相关信息。在开发人员开发不同的功能组件后,可以由指定发版人员通过应用版本管理系统触发应用的构建,获得目标应用包,以及由指定发版人员基于该目标应用包进行加密、加固等定制化处理,获得定制化应用包,无需应用开发人员额外关注应用的版本发布。
在一个实施例中,如图4所示,提供了一种应用包的处理方法,以该方法应用于图1中的计算机设备(终端102或应用版本管理服务器104)为例进行说明,包括以下步骤:
步骤402,确定待进行应用定制化的目标车型。
其中,目标车型是待进行应用定制化的车型,例如车型A与车型B。在一些实施例中,对于相同的车型,由于销售渠道或是某些外观的不同,其可以安装适配不同的车载应用,所以也可以使用渠道号来表示相应的车型,不同的渠道号需要适配不同版本的车载应用。
具体地,计算机设备可以获取发版人员在定制化界面中输入的车型,将发版人员输入的车型作为待进行应用定制化的目标车型。计算机设备也可以根据根据发版人员的输入操作,提供车型列表,根据发版人员针对车型列表中列表项的选取操作,将选取操作所选中的选项,作为待进行应用定制化的目标车型。
在一个实施例中,应用版本管理系统可提供车型管理的功能,发版人员可以依靠该功能维护需要发布应用的车型以及与该车型相关的车型信息,包括该车型需要安装的应用信息。例如,计算机设备可以提供车型管理界面,获取发版人员在车型管理界面提交的新增指令,该新增指令用于在应用版本管理服务器的数据库中新增一条数据记录,该数据记录包括该车型以及与该车型相关的应用信息。该项目新增指令所需提交的数据包括车型、与该车型相关的车型信息,包括:需要在该目标车型上安装的应用信息以及应用相关描述信息。
举例来说,车型为XX车企车型A,其对应的车型信息包括:需要开发的应用包括“XX导航”、“YY音乐”、“ZZ语音”等等,对于“YY音乐”应用而言,还可以添加相关的个性化描述信息,如“YY音乐”需要删除定位功能。这样,计算机设备在为目标车型定制化应用包时,可以根据发版人员输入的内容,从应用版本管理服务器的数据库存储的数据记录中选取与输入内容匹配的车型,作为待进行应用定制化的目标车型。
在一个实施例中,确定待进行应用定制化的目标车型,包括:展示车载应用包的定制化界面,并在定制化界面中展示车型选取控件;响应于对车型选取控件的触发操作,确定待进行应用定制化的目标车型,并展示与目标车型对应的应用信息。其中,该应用信息包括待发版应用以及待发版应用的功能信息。
具体地,计算机设备可以展示车载应用包的定制化界面,发版人员可以通过车型选取控件,选取某个车型,作为待进行应用定制化的目标车型。此外,计算机设备拉取与发版人员选取的目标车型相关的应用信息,该应用信息包括与该目标车型对应的待发版应用以及待发版应用的功能信息,这样,发版人员可以通过展示的应用信息,知晓该目标车型需要发版的应用以及可以对该应用进行的定制化信息。
如图5所示,为一个实施例中定制化界面的界面示意图。参照图5,在该界面中,提供了车型选取控件:“选择车型”,用户可以通过该控件输入渠道号、车型名称或是车企名称,以确定待进行应用定制化的目标车型。此外,还提供了车型信息查询控件:“查询车型信息”,在确定目标车型后,发版人员可以通过该控件查询与选取的目标车型相关的应用信息,以方便发版人员后续确定要定制化的目标应用以及目标应用的定制化信息。
步骤404,获取为目标车型定制应用所提交的配置信息,配置信息包括至少一个定制项。
具体地,计算机设备确定待进行应用定制化的目标车型后,进一步确定需要为该目标车型定制化的目标应用,例如计算机设备可以展示应用列表,根据发版人员对该应用列表中列表项的触发操作,确定待进行定制化的目标应用。对于该目标应用,发版人员可以提交对应每个定制项的配置信息。
本申请实施例中,目标应用的定制化是在目标应用的目标应用包的基础上进行进一步的处理,每一类处理对应了一个定制项,提交的配置信息包括每个定制项的配置信息。可以理解,该定制项的内容可以根据需求进行设置,包括但不限于是否对目标应用包进行加固、是否对目标应用包进行加密、是否对目标应用包中的目标文件进行删减以及是否对目标应用包新增目标文件中的至少一种。
其中,对应用包进行加固可以有效防止应用包被破解、二次打包等,是应用包发版之前需要统一执行的操作。加固之后可以对应用包进行加密,进一步防止应用包被破解,加密需要使用加密证书。可选地,该加密证书可以由车企为该目标车型提供,也可以由发版人员自行提供,应用版本管理系统可提供加密证书管理的功能,发版人员可以依靠该功能维护加密证书,并通过选取该加密证书为应用包进行定制化的加密处理。对目标应用包中的目标文件进行删减,以删减目标应用包的部分功能,例如,通过删减指定功能的驱动文件,以实现关闭指定功能,如关闭WiFi功能、关闭定位功能,等等。对目标应用包新增目标文件,以在目标应用包关闭指定功能的情况下开启指定功能,例如,通过解除对WiFi功能相关驱动文件的屏蔽,或是增加开启WiFi功能的驱动文件以启动相应的功能,等等。
可选地,计算机设备可以展示车载应用包的定制化界面,在定制化界面中展示关于定制项的定制控件;响应于为目标车型定制应用所提交的对应定制控件的触发操作,确定对应每个定制项的配置信息。
参照图5,发版人员通过该定制化界面依次选取目标车型、目标应用后,提交为该目标应用的定制化配置信息。计算机设备可以在定制化界面中提供定制项的定制控件,以供发版人员选择。发版人员可以根据车企的要求,或是根据查询到的该目标应用的应用信息,提交对应每个定制项的配置信息。例如,对于定制项“加密”,可以选择不加密,可以选择使用通用证书进行加密,还可以选择使用车企为该目标车型提供的加密证书进行加密。对于定制项“是否关闭定位功能”,可以选择不关闭,可以选择关闭,对于定制项“是否关闭WiFi功能”,可以选择不关闭,可以选择关闭。对于定制项“加固”,可以选择不加固,可以选择进行统一加固,还可以选择根据车企要求进行加固。之后,计算机设备接收发版人员触发的“确认”指令,获得为目标车型定制应用所提交的对应每个定制项的配置信息。
步骤406,获取对目标应用的源码依次进行编译、打包处理生成的目标应用包。
具体地,在确定了待进行应用定制化的目标车型、目标应用以及对应每个定制项的配置信息后,发版人员可以提交关于该目标应用的定制化指令,计算机设备响应于该指令,获取与该目标应用对应的目标应用包。
目标应用的目标应用包,可以称之为目标应用的公用应用包。一般来说,该目标应用包的功能较为齐全,版本较低,发布时间较早,例如可以是原始版本应用包,后续的定制化应用包均在该目标应用包的基础上进行个性化定制。这样,可以基于目标应用的目标应用包生成适配不同车型的定制化应用包,不需要二次编码、编译,从而提升不同版本应用包的生成效率,提升发版效率。
与定制化应用包的发版过程不同,目标应用包需要经过完整的编码、编译和打包过程生成后再发版。例如,可以由开发人员根据目标应用的功能,开发编码了不同的功能组件,再由发版人员依据各功能组件触发应用构建流程,也就是编译、打包处理,从而生成目标应用的目标应用包。编译是指通过使用编译器对目标应用的源码、资源文件、依赖包等进行编译,生成可执行文件和编译后的资源文件。打包是指通过使用打包器,利用签名文件和上一步生成的可执行文件、编译后的资源文件打包成应用包,作为目标应用包。
可选地,该目标应用包可以从应用版本管理系统的数据库中获取,也就是,计算机设备可以根据发版人员在定制化界面中选取的目标应用,从数据库中获取该目标应用对应的原始版本公用包。可选地,该原始版本公用包可以是从网络上下载后存放到该应用版本管理系统的数据库中的,还可以是发版人员通过该应用版本管理系统触发构建的。
在一个实施例中,获取对目标应用的源码依次进行编译、打包处理生成的目标应用包,包括:在车载应用包的定制化界面中,展示应用列表;响应于对应用列表的选取操作,确定待进行定制化处理的目标应用;从应用版本管理服务器的数据库中获取为选取的目标应用构建的目标应用包。
具体地,对于每个应用发布的应用包,包括目标应用包与定制化应用包,都可以与应用标识(如应用名称)关联后存放到应用版本管理服务器的数据库中,这样,不仅发版人员可以通过应用版本管理系统提供的应用列表视图,查看应用列表以及与每个应用的不同版本应用包的信息。而且,在发版人员提交了关于目标应用的定制化指令后,计算机设备可以根据发版人员选取的目标应用,从应用版本管理服务器的数据库中获取与之对应的目标应用包。
步骤408,对目标应用包进行解压处理,得到至少一个目标文件。
其中,目标应用包是一个压缩文件,如Apk(Android application package)文件或iPA(iPhone Application)文件。计算机设备获取目标应用的目标应用包后,对其进行解压处理,获得至少一个目标文件。例如,目标应用包是Apk文件,其被解压后可以获得全局配置文件、可执行文件、编译后的二进制资源文件、签名文件、资源文件、配置文件,其中,资源文件、配置文件是可被编辑、修改的文件。
步骤410,按照配置信息,对至少一个目标文件进行定制化处理后,将得到的定制化文件重新打包,得到适于目标车型的定制化应用包。
具体地,计算机设备可以按照上述的配置信息,对解压得到的可编辑目标文件进行定制化处理,得到定制化文件,并使用定制化文件替换原来的目标文件后,重新打包得到适于目标车型的定制化应用包。
可见,目标应用的目标应用包,需要经过编码、编译、打包处理生成,而定制化应用包,省去了编码、编译的过程,仅需在目标应用包的基础上按照配置信息进行适配目标车型的定制化处理,不需要二次编码、编译,从而提升不同版本应用包的生成效率,提升发版效率。
在一个实施例中,按照配置信息,对至少一个目标文件进行定制化处理,包括:当配置信息指示对目标应用包进行加密处理时,则获取目标车型对应的加密证书,使用加密证书对至少一个目标文件进行加密处理;当配置信息指示对目标应用包进行签名处理时,则使用签名秘钥对目标应用包进行签名;当配置信息指示对目标应用包进行加固处理时,则对目标应用包进行加固处理;当配置信息指示删减目标应用的目标功能时,则从至少一个目标文件删减目标功能对应的依赖文件。
具体地,不同的配置信息,可以做不同的定制化处理。例如,有的车型的车企提供了自己的加密证书,需要使用该加密证书对生成的应用包进行加密处理,那么当配置信息指示需要对目标应用包进行加密处理时,计算机设备可以获取与该目标车型对应的加密证书,使用该加密证书对解压得到的目标文件进行加密处理,得到加密后的目标文件。类似地,还可以使用签名秘钥对目标应用包进行签名,使用统一的加固工具,对目标应用包进行加固处理,还可以删减实现目标功能所需的依赖文件。当定制处理包括多项时,计算机设备可以按照预设的处理顺序,依次对解压得到的目标文件进行处理,例如先删减目标文件、再加固、加密、签名。
如图6所示,为一个实施例中应用包的处理框架示意图。参照图6,以目标应用为“应用X”为例,需要针对车型A与车型B分别定制化相应的应用包。处理流程为:应用X的开发人员,在开发出应用X的功能组件并生成相应的目标应用包(1.0版本)之后,当需要针对车型A与车型B生成相应的定制化版本时,发版人员通过应用版本管理系统,选取车型A,并针对车型A提交对应每个定制项的配置信息,包括统一加固处理、加密处理,再根据这些配置信息提交定制化指令,计算机设备自动根据针对车型A的配置信息,在1.0版本应用包的基础上生成适配车型A的定制化应用包(应用X的2.0版本)。类似地,发版人员通过应用版本管理系统,选取车型B,并针对车型B提交对应每个定制项的配置信息,并根据这些配置信息提交定制化指令,计算机设备自动根据针对车型B的配置信息,在1.0版本应用包的基础上生成适配车型B的定制化应用包(应用X的3.0版本)。
在一个实施例中,上述方法还包括:获取适于目标车型的定制化应用包的下载地址;根据目标车型、定制化应用包的版本信息以及下载地址,生成适于目标车型的定制化应用包的发版通知消息;响应于定制化界面中发版的触发操作,向定制化应用包的接收方发送发版通知消息。
具体地,在计算机设备获得适于目标车型的定制化应用包之后,可以将该定制化应用包存放到指定的下载地址,并自动根据目标车型、定制化应用包的版本信息以及该下载地址,向车企发送关于该定制化应用包的发版通知消息。
例如,对于定制化应用包的发版,计算机设备可以采用自动化邮件方式,支持对车企的应用包进行发布。其中,邮件内容是根据定制化应用包所适配的目标车型、定制化应用包的版本信息以及下载地址生成的。
如图7所示,为一个实施例中发布应用包所需提交的参数的示意图。参照图7,主要参数包括车企接收发版通知消息的方式,如车企邮箱:XX@xx.com。还包括目标应用的名称以及定制化应用包的版本信息: XX应用2.0版本。还包括该定制化应用包的外网下载地址,例如http://xxx.com/xxxx/xxx。计算机设备可以调用第三方发送邮件的能力,向该车企邮箱发送关于该定制化应用包的发版通知消息。还包括该定制化应用包所适配的目标车型信息。
这样,对于应用针对目标车型的定制化发版,计算机设备只需要获取发版人员提交的目标车型、目标应用以及针对每个配置项的配置信息,计算机设备就能够自动获取目标应用的目标应用包,在按照配置信息进行定制化处理后生成针对该目标车型的定制化应用包,并自动对定制化应用包进行发版,实现从定制化、生成定制化应用包到发布的全链路自动发版,提升发版效率。
上述应用包的处理方法,在需要为目标车型定制目标应用的应用包时,获取为该目标车型定制应用包所需的对应每个定制项的配置信息,在获取目标应用的目标应用包后,对该目标应用包进行解压处理,得到目标文件,按照对应每个定制项的配置信息对该目标文件进行定制化处理后再重新打包,就可以得到适于该目标车型的定制化应用包,也就是说,开发人员只需要一次编码、编译获得目标应用包,就能够基于该目标应用包生成适配不同车型的定制化应用包,不需要二次编码、编译,从而提升不同版本应用包的生成效率,提升发版效率。
在一个实施例中,应用包的处理方法还包括目标应用的目标应用包的构建步骤:展示应用构建界面;获取在应用构建界面中,为构建目标应用所提交的功能组件标识以及相应的功能组件版本信息,根据功能组件标识以及相应的功能组件版本信息触发会签流程并发送相应的会签通知;在与会签流程相关的会签方响应于会签通知,生成会签通过指令后,基于功能组件标识所标识的功能组件生成目标应用的目标应用包。
本实施例中,应用版本管理系统还可以提供构建目标应用的目标应用包的功能,该目标应用包是初始的需要经过编码、编译、打包处理后生成的应用包。计算机设备可以展示应用构建界面,以供发版人员在该界面中触发应用构建流程,以构建初始的应用包。具体地,计算机设备获取发版人员在应用构建界面提交的关于会签流程的新增指令,该新增指令用于触发一条新的会签流程,以构建目标应用的目标应用包。该新增指令所需提交的数据可以包括会签名称、会签相关描述、会签方人员、待构建的目标应用所需要依赖的功能组件以及相应的功能组件版本信息。在完成并提交该会签后,计算机设备将依据上述内容触发会签流程并生成相应的会签通知,将该会签通知发送至与会签流程相关的会签方,在获取到会签方反馈的会签通过指令后,基于功能组件标识所标识的功能组件生成目标应用的目标应用包。
其中,会签方通常是功能组件的开发人员或开发人员使用的计算机设备,功能组件是构建应用包以及支持应用运行的程序单元,例如语音功能组件、定位功能组件、WiFi功能组件、导航功能组件以及数据库组件,还可以是应用运行时需要访问的接口,等等。会签方接收到会签通知后,可以自行确定是否通过,例如开发人员确定该功能组件的版本是否准确,是否为开发人员专门为目标应用开发的版本,或是该功能组件的版本是否兼容其它功能组件,等等。在所有会签方均认为相应的组件确认无误并反馈会签通过指令时,才能完成会签,触发应用包的编译与打包处理。
如图8所示,为一个实施例中会签事项的示意图。参照图8,该会签事项包括:会签名称、功能组件标识以及对应的组件版本信息、会签方人员,例如会签名称可以是“XX车企的YY车型的ZZ应用”,功能组件标识以及对应的组件版本信息可以是“语音(1.2.0)、导航(1.3.0)、数据库(2.0)”,会签方人员例如“张三、李四、王五”。
可选地,在构建目标应用的目标应用包之前,发版人员还可以在应用版本管理系统中维护功能组件以及相应的组件版本信息。应用版本管理系统可以提供组件管理功能,以供发版人员维护功能组件以及相应的组件版本信息。那么发版人员可以在发起会签时,直接从应用版本管理服务器的数据库中拉取相应的功能组件标识以及功能组件版本信息,待会签通过后,计算机设备可以根据该功能组件标识以及功能组件版本信息,触发获取相应版本的功能组件,构建目标应用的目标应用包。
可选地,在会签方生成会签通过指令后,计算机设备可以自行基于功能组件标识所标识的功能组件生成目标应用的目标应用包,计算机设备还可以依赖第三方的应用包构建能力,构建目标应用的目标应用包。
在一个实施例中,基于功能组件标识所标识的功能组件生成目标应用的目标应用包,包括:根据功能组件标识所标识的功能组件的代码仓地址,向应用构建服务器发送关于目标应用的应用构建请求;接收应用构建服务器响应于应用构建请求,对从代码仓地址获取的功能组件进行编译、打包处理后,所返回的目标应用的目标应用包以及目标应用包的版本信息。
待完成会签且获取到所有会签方反馈的会签通过指令后,计算机设备可以基于发版人员的触发操作,或者,自动地根据会签流程中的功能组件标识所标识的功能组件的代码仓地址,向应用构建服务器发送关于目标应用的应用构建请求。应用构建服务器具有根据应用包的功能组件构建应用包的能力,应用构建服务器可以根据会签流程中的代码仓地址,获取相应的功能组件,并对其进行编译、打包后,生成目标应用的目标应用包以及相应的版本信息,并返回至计算机设备。
在一个实施例中,根据功能组件标识所标识的功能组件的代码仓地址,向应用构建服务器发送关于目标应用的应用构建请求,包括:获取构建目标应用所需的功能组件的代码仓地址以及代码仓分支;将代码仓地址以及代码仓分支作为构建参数,生成应用构建请求;向应用构建服务器发送应用构建请求。
其中,代码仓地址是用于存放开发人员开发的功能组件的地址,该代码仓地址中的代码仓分支,是用于存放不同的功能组件的、更细化的地址。例如,主仓可用于存放已经开发好的可以构建应用包的组件,分仓001可以用于存放正在开发中的功能组件,分仓002可以用于存放临时组件,等等。计算机设备可以获取完成的会签流程中所涉及的功能组件,并确定这些功能组件所对应的代码仓地址以及代码仓分支,根据代码仓地址以及代码仓分支调用应用构建服务器提供的应用构建接口,生成相应的应用包后返回。
计算机设备可以同时创建多个用于应用构建的流水线,每条流水线用于构建不同的应用包。如图9所示,为一个实施例中创建用于构建应用的流水线的示意图。参照图9,对于每条流水线均需向应用构建服务器提交的参数包括:功能组件的代码仓地址、代码仓分支以及应用构建服务器的应用包构建能力的接口调用地址,还可以根据需求设置一些流水线的构建参数,如构建实时状态、构建人,等等。
在一个实施例中,上述方法还包括:在生成目标应用的目标应用包之后,将会签流程、目标应用包以及适于目标车型的定制化应用包分别与目标应用标识对应存放至应用版本管理服务器的数据库中;响应于关于目标应用标识的查询请求,展示关于目标应用标识的应用包列表,应用包列表包括目标应用包的版本信息以及定制化应用包的版本信息。
为了能够在基于目标应用的目标应用包进行定制化处理,同时,为了对所有版本应用包的发版流程进行溯源,计算机设备可以将该会签流程、生成的目标应用包、以及基于该目标应用包生成的适于目标车型的定制化应用包,以及相应的版本信息分别与目标应用对应存储至应用版本管理服务器的数据库中。那么,在确定待进行应用定制化的目标应用后,可以从数据库中获取与该目标应用对应的目标应用包。例如,计算机设备可以将与目标应用对应的应用包中初始版本的应用包,作为目标应用包。又例如,计算机设备可以根据数据库中存放的目标应用的应用包,展示应用包列表,发版人员从中选取目标应用包,触发后续的应用包定制化处理流程。此外,计算机设备还可以展示目标应用对应的应用包的版本信息,以供发版人员查看,发版人员可以通过应用视图,查看与该应用相关的所有应用包的版本信息。
在一个实施例中,在构建目标应用的目标应用包之后,若车企对于该目标应用包不存在相应的定制化需求,也就是,该目标应用包可直接发布,那么计算机设备可以直接将生成的该目标应用包存放到指定的下载地址,并自动根据该目标应用包的版本信息以及该下载地址,向车企发送关于该目标应用包的发版通知消息。
如图10所示,为一个实施例中应用版本管理系统的模块示意图。参照图10,该应用版本管理系统包括版本发布模块、应用构建模块、加密/加固模块、车型管理模块、功能组件管理模块、证书管理模块、应用包定制化模块。
其中,版本发布模块包括会签子模块与发版子模块,会签子模块用于触发应用构建的会签流程,例如可以提供会签界面、接受发版人员提交的会签参数,发起会签流程。会签子模块还用于记录会签流程的相关信息,如每一个会签流程的会签时间、会签事项、会签功能组件以及版本信息、会签方、会签时间以及会签状态等等。发版子模块用于触发目标应用包或定制化应用包的自动发布,例如直接向车企邮箱发送发版通知消息。
应用构建模块,用于创建每个应用的流水线,发起应用构建。参照图10,应用构建模块还用于与应用构建服务器进行交互,例如根据应用构建的参数,调用应用构建服务器提供的应用构建接口,并接收应用构建服务器返回的构建成功的目标应用包。
应用包定制化模块,用于对目标应用的目标应用包进行定制化处理。例如提供定制化界面,接受发版人员在该定制化界面中提交的目标车型、目标应用以及关于目标应用的定制化配置信息,触发对目标应用的目标应用包进行定制化处理。在需要定制多个目标应用包时,应用包定制化模块还用于根据发版人员的操作依次生成相应的应用定制化请求。例如,参照图10,针对车型1,可以根据目标应用1、目标应用2、目标应用3、…生成相应的定制化应用包。针对车型2,可以根据目标应用1、目标应用2、目标应用3、…生成相应的定制化应用包。针对车型N,可以根据目标应用1、目标应用2、目标应用3、…生成相应的定制化应用包。
加密/加固模块,用于在对目标应用包进行具体的定制化处理过程中,对目标应用包进行加密处理、加固处理,有效防止应用包被逆向分析、反编译、二次打包、防止嵌入各种病毒、广告等。
车型管理模块,用于记录每个车型所对应的车型信息,包括但不限于该车型需要安装的应用信息,包括已发版应用信息、待发版应用信息以及每个应用的版本信息。例如,对于某种品牌的某个汽车,需要发布“XX导航”和“YY音乐”两个应用程序。
功能组件管理模块,用于记录所有开发人员开发的功能组件的信息。例如该功能组件所属的分组信息、该功能组件现有的版本数量、该功能组件的描述信息,还可以包括该功能组件的代码仓地址及代码仓分支,等等。
证书管理模块,用于记录每种车型对应的或车企提供的加密证书,以在具体的定制化处理过程中,使用目标车型对应的加密证书,对目标应用的目标应用包进行加密处理。
上述实施例中,对应同一个应用,针对不同的车型,可以生成不同的定制化应用包,不需要开发人员二次编码、编译。由于所有的车型信息、应用信息、应用版本信息、功能组件均可以通过应用版本管理系统查询、查看,应用构建也可以通过应用版本管理系统实现,使得对于所有应用的版本发布,可以由统一的发版人员进行操作,具有了标准化、规范化的输入输出,不需要开发人员额外关注版本发布流程。此外,应用构建的会签、应用的发版以及均通过该应用版本管理系统实现,已发布的应用版本均能够被记录下来,历史发布版本可追溯。
如图11所示,为一个实施例中应用包的处理方法的时序图。参照图11,该时序图涉及发版人员,还涉及应用版本管理系统中的版本发布模块、会签模块、应用构建模块、应用包定制化模块、数据库、车型/证书管理模块,还涉及应用构建服务器。该时序图的交互步骤包括:
1、发版人员手动/定时触发应用包构建,发起用于构建应用的会签流程。
2、通过会签模块,获取发版人员新增的会签流程,会签模块接收到会签方反馈的会签通过通知后,触发应用构建。
3、通过应用构建模块,创建应用构建的流水线,调用应用构建服务器提供的应用构建接口,接收应用构建服务器返回的应用包,该应用包可以存放到应用版本管理服务器的数据库中。
4、在需要定制化应用包时,发版人员可以触发应用包定制化处理。
5、通过应用包定制化模块,从数据库中获取目标应用的目标应用包,从车型/证书管理模块获取与目标车型对应的应用信息以及加密证书,提交关于目标应用的对应每一个定制项的配置信息。
6、通过应用包定制化模块,按照配置信息对目标应用包进行加密、加固等定制化处理后,将生成的定制化应用包以及相应的版本信息与该目标车型、目标应用关联,并存储到应用版本管理服务器的数据库。
7、在需要发版时,发版人员可以手动/定时触发发布定制化应用包。
8、通过版本发布模块,接收获取发版人员的触发指令,从车型/证书管理模块获取车型信息,以及从应用版本管理服务器的数据库中获取与该车型信息关联的定制化应用包相关的版本信息,根据该车型信息、该版本信息以及该定制化应用包的下载地址生成发版通知消息,通过邮件发送至车企邮箱。版本发布模块,还可以发布关于构建的目标应用包的发版通知消息。
如图12所示,为一个具体的实施例中,应用包的处理方法的流程示意图。参照图12,该方法包括以下步骤:
步骤1202,展示应用构建界面。
步骤1204,获取在应用构建界面中,为构建目标应用所提交的功能组件标识以及相应的功能组件版本信息,根据功能组件标识以及相应的功能组件版本信息触发会签流程并发送相应的会签通知。
步骤1206,在与会签流程相关的会签方响应于会签通知生成会签通过指令后,获取构建目标应用所需的功能组件的代码仓地址以及代码仓分支。
步骤1208,将代码仓地址以及代码仓分支作为构建参数,生成应用构建请求。
步骤1210,向应用构建服务器发送应用构建请求。
步骤1212,接收应用构建服务器响应于应用构建请求,对从代码仓地址获取的功能组件进行编译、打包处理后,所返回的目标应用的目标应用包以及目标应用包的版本信息。
步骤1214,将会签流程、目标应用包以及适于目标车型的定制化应用包分别与目标应用标识对应存放至应用版本管理服务器的数据库中。
步骤1216,展示车载应用包的定制化界面,并在定制化界面中展示车型选取控件。
步骤1218,响应于对车型选取控件的触发操作,确定待进行应用定制化的目标车型,并展示与目标车型对应的应用信息。
步骤1220,在定制化界面中展示应用选取控件。
步骤1222,响应于关于应用选取控件的触发操作,从应用列表中选取待进行定制化的目标应用。
步骤1224,在定制化界面中展示关于定制项的定制控件。
步骤1226,响应于为目标车型定制应用所提交的对应定制控件的触发操作,确定对应每个定制项的配置信息。
步骤1228,获取对目标应用的源码依次进行编译、打包处理生成的目标应用包。
步骤1230,对目标应用包进行解压处理,得到至少一个目标文件。
步骤1232,当配置信息指示对目标应用包进行加密处理时,则获取目标车型对应的加密证书,使用加密证书对至少一个目标文件进行加密处理;当配置信息指示对目标应用包进行签名处理时,则使用签名秘钥对目标应用包进行签名;当配置信息指示对目标应用包进行加固处理时,则对目标应用包进行加固处理;当配置信息指示删减目标应用的目标功能时,则从至少一个目标文件删减目标功能对应的依赖文件,将得到的定制化文件重新打包,得到适于目标车型的定制化应用包。
步骤1234,将定制化应用包与目标应用对应存放至应用版本管理服务器的数据库中,并将定制化应用包存放到相应的下载地址。
步骤1236,根据目标车型、定制化应用包的版本信息以及下载地址,生成目标车型的发版通知消息。
步骤1238,响应于定制化界面中发版的触发操作,向定制化应用包的接收方发送发版通知消息。
上述应用包的处理方法,在需要为目标车型定制目标应用的应用包时,获取为该目标车型定制应用包所需的对应每个定制项的配置信息,在获取目标应用的目标应用包后,对该目标应用包进行解压处理,得到目标文件,按照对应每个定制项的配置信息对该目标文件进行定制化处理后再重新打包,就可以得到适于该目标车型的定制化应用包,也就是说,开发人员只需要一次编码、编译获得目标应用包,就能够基于该目标应用包生成适配不同车型的定制化应用包,不需要二次编码、编译,从而提升不同版本应用包的生成效率,提升发版效率。
下面从发版人员的角度,示意性的描述针对目标车型的目标应用的定制化应用包的发版流程:
1)发版人员在会签管理界面中新增会签,填写会签名称、会签相关描述、会签方人员、待构建的目标应用所需要依赖的功能组件以及相应的功能组件版本信息。
2)发版人员发起会签,并通知组件依赖的会签方进行会签。
3)会签方接收到会签通知后,确定是否通过会签,例如开发人员确定该功能组件的版本是否准确,是否为开发人员专门为目标应用开发的版本,或是该功能组件的版本是否兼容其它功能组件,等等。如果开发人员选择会签不通过,可以邀请管理员协助重置会签。
4)当全部组件完成会签且会签通过以后,可以创建用于构建应用的流水线,每个流水线需要配置每个应用的构建参数,包括功能组件的代码仓地址、代码仓分支以及应用构建服务器的应用包构建能力的接口调用地址。
5)流水线创建完成后,向应用构建服务器发起应用创建。构建完成后,接收应用构建服务器返回的目标应用包,并自动触发并收集该目标应用包的版本信息、测试报告等。
6)定制应用包:针对目标车型进行目标应用的定制化配置,包括对目标应用包进行定制化的加密、定制化的加固处理,生成定制化应用包。
7)针对目标车型发版,并记录项目发版信息。采用自动化邮件方式,根据定制化应用包的下载地址、版本信息、适配的目标车型生成发版通知消息,将发版通知消息作为邮件内容,向车企邮箱发送邮件。
本实施例中,每个应用的开发人员不需要单独处理定制化应用包的编码、编译、打包等流程,也不需要进行相应的配置,只需要统一的发版人员负责所有应用的发版流程,就可以做到应用组件确认、应用包构建、定制化后处理、定制化应用包生成以及自动发布发版通知等全链路的自动化处理。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图13所示,提供了一种应用包的处理装置1300,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:车型确定模块1302、配置信息获取模块1304、应用包获取模块1306和应用包定制模块1308,其中:
车型确定模块1302,用于确定待进行应用定制化的目标车型;
配置信息获取模块1304,用于获取为目标车型定制应用所提交的配置信息,所述配置信息包括至少一个定制项;
应用包获取模块1306,用于获取对目标应用的源码依次进行编译、打包处理生成的目标应用包;
应用包定制模块1308,用于对目标应用包进行解压处理,得到至少一个目标文件;
应用包定制模块1308,还用于按照配置信息,对至少一个目标文件进行定制化处理后,将得到的定制化文件重新打包,得到适于目标车型的定制化应用包。
在一个实施例中,车型确定模块1302还用于展示车载应用包的定制化界面,并在定制化界面中展示车型选取控件;响应于对车型选取控件的触发操作,确定待进行应用定制化的目标车型,并展示与目标车型对应的应用信息。
在一个实施例中,配置信息获取模块1304还用于展示车载应用包的定制化界面,在定制化界面中展示至少一个定制项;响应于为目标车型定制应用所提交的对应定制项的触发操作,确定对应每个定制项的配置信息。
在一个实施例中,定制项包括是否对目标应用包进行加固、是否对目标应用包进行加密、是否对目标应用包中的目标文件进行删减以及是否对目标应用包新增目标文件中的至少一种。
在一个实施例中,参照图14,应用包的处理装置1300还可以包括应用构建模块1310,用于展示应用构建界面;获取在应用构建界面中,为构建目标应用所提交的功能组件标识以及相应的功能组件版本信息,根据功能组件标识以及相应的功能组件版本信息触发会签流程并发送相应的会签通知;在与会签流程相关的会签方响应于会签通知,生成会签通过指令后,基于功能组件标识所标识的功能组件生成目标应用的目标应用包。
在一个实施例中,应用构建模块1310,还用于根据功能组件标识所标识的功能组件的代码仓地址,向应用构建服务器发送关于目标应用的应用构建请求;接收应用构建服务器响应于应用构建请求,对从代码仓地址获取的功能组件进行编译、打包处理后,所返回的目标应用的目标应用包以及目标应用包的版本信息。
在一个实施例中,应用构建模块1310,还用于获取构建目标应用所需的功能组件的代码仓地址以及代码仓分支;将代码仓地址以及代码仓分支作为构建参数,生成应用构建请求;向应用构建服务器发送应用构建请求。
在一个实施例中,参照图15,应用包的处理装置1300还可以包括存储模块1312,用于在生成目标应用的目标应用包之后,将会签流程、目标应用包以及适于目标车型的定制化应用包分别与目标应用标识对应存放至应用版本管理服务器的数据库中;应用查询模块,用于响应于关于目标应用标识的查询请求,展示关于目标应用标识的应用包列表,应用包列表包括目标应用包以及定制化应用包。
在一个实施例中,应用包获取模块1306,用于在车载应用包的定制化界面中,展示应用列表;响应于对应用列表的选取操作,确定待进行定制化处理的目标应用;从应用版本管理服务器的数据库中获取为选取的目标应用构建的目标应用包。
在一个实施例中,应用包定制模块1308,还用于当配置信息指示对目标应用包进行加密处理时,则获取目标车型对应的加密证书,使用加密证书对至少一个目标文件进行加密处理;当配置信息指示对目标应用包进行签名处理时,则使用签名秘钥对目标应用包进行签名;当配置信息指示对目标应用包进行加固处理时,则对目标应用包进行加固处理;当配置信息指示删减目标应用的目标功能时,则从至少一个目标文件删减目标功能对应的依赖文件。
在一个实施例中,应用包的处理装置1300还包括发布模块,用于获取适于目标车型的定制化应用包的下载地址;根据目标车型、定制化应用包的版本信息以及下载地址,生成适于目标车型的定制化应用包的发版通知消息;响应于定制化界面中发版的触发操作,向定制化应用包的接收方发送发版通知消息。
上述应用包的处理装置1300,在需要为目标车型定制目标应用的应用包时,获取为该目标车型定制应用包所需的对应每个定制项的配置信息,在获取目标应用的目标应用包后,对该目标应用包进行解压处理,得到目标文件,按照对应每个定制项的配置信息对该目标文件进行定制化处理后再重新打包,就可以得到适于该目标车型的定制化应用包,也就是说,开发人员只需要一次编码、编译获得目标应用包,就能够基于该目标应用包生成适配不同车型的定制化应用包,不需要二次编码、编译,从而提升不同版本应用包的生成效率,提升发版效率。
关于应用包的处理装置1300的具体限定可以参见上文中对于应用包的处理方法的限定,在此不再赘述。上述应用包的处理装置1300中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是图1 中的应用版本管理服务器或终端,其内部结构图可以如图16所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用包的处理方法。
在该计算机设备是终端时,该计算机设备还可以包括显示屏和输入装置。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种应用包的处理方法,其特征在于,所述方法包括:
在构建目标应用的会签流程通过后,根据所述会签流程中功能组件标识以及相应的功能组件版本信息所标识的功能组件的代码仓地址,向应用构建服务器发送关于所述目标应用的应用构建请求;
接收所述应用构建服务器响应于所述应用构建请求,对从所述代码仓地址获取的功能组件进行编译、打包处理后,所返回的所述目标应用初始版本的目标应用包以及所述目标应用包的版本信息;将所述目标应用包与目标应用标识对应存放至数据库中;
展示车载应用包的定制化界面,并在所述定制化界面中展示车型选取控件;
响应于对所述车型选取控件的触发操作,确定待进行应用定制化的目标车型,并展示与所述目标车型对应的应用信息;所述应用信息包括与所述目标车型对应的待发版应用以及待发版应用的功能信息;
在所述定制化界面中,展示应用列表;
响应于对所述应用列表的选取操作,确定待进行定制化处理的目标应用;
获取基于查询到的所述目标车型对应所述目标应用的功能信息对所述目标应用所提交的对应每个定制项的配置信息,所述配置信息用于对所述目标应用的指定功能进行开启或屏蔽;
从数据库中获取所述目标应用初始版本的目标应用包;
对所述目标应用包进行解压处理,得到至少一个目标文件;
按照所述配置信息,依次对所述至少一个目标文件中与所述指定功能对应的可编辑配置文件进行解除屏蔽处理或删减处理后,得到定制化文件,将得到的定制化文件重新打包,得到与所述目标应用对应的适于所述目标车型的指定功能的定制化应用包;
将所述会签流程、所述目标应用包以及所述定制化应用包分别与目标应用标识对应存放至数据库中;
响应于关于所述目标应用标识的查询请求,展示关于所述目标应用标识的应用包列表,所述应用包列表包括所述目标应用包的版本信息以及所述定制化应用包的版本信息。
2.根据权利要求1所述的方法,其特征在于,所述获取基于查询到的所述目标应用的功能信息所提交的对应每个定制项的配置信息,包括:
展示车载应用包的定制化界面,在所述定制化界面中展示关于所述定制项的定制控件;
响应于为所述目标车型定制应用所提交的对应所述定制控件的触发操作,确定对应每个所述定制项的配置信息。
3.根据权利要求1所述的方法,其特征在于,所述定制项包括是否对所述目标应用包进行加固、是否对所述目标应用包进行加密、是否对所述目标应用包中的目标文件进行删减以及是否对所述目标应用包新增目标文件中的至少一种。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
展示应用构建界面;
获取在所述应用构建界面中,为构建目标应用所提交的功能组件标识以及相应的功能组件版本信息,根据所述功能组件标识以及相应的功能组件版本信息触发会签流程并发送相应的会签通知;
在与所述会签流程相关的会签方响应于所述会签通知,生成会签通过指令后,确定构建目标应用的会签流程通过。
5.根据权利要求1所述的方法,其特征在于,所述根据所述会签流程中功能组件标识及相应的功能组件版本信息所标识的功能组件的代码仓地址,向应用构建服务器发送关于所述目标应用的应用构建请求,包括:
获取构建所述目标应用所需的功能组件的代码仓地址以及代码仓分支;
将所述代码仓地址以及代码仓分支作为构建参数,生成应用构建请求;
向所述应用构建服务器发送所述应用构建请求。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述配置信息指示对所述目标应用包进行加密处理时,则获取所述目标车型对应的加密证书,使用所述加密证书对所述至少一个目标文件进行加密处理;
当所述配置信息指示对所述目标应用包进行签名处理时,则使用签名秘钥对所述目标应用包进行签名;
当所述配置信息指示对所述目标应用包进行加固处理时,则对所述目标应用包进行加固处理。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
获取适于所述目标车型的定制化应用包的下载地址;
根据所述目标车型、所述定制化应用包的版本信息以及所述下载地址,生成适于所述目标车型的定制化应用包的发版通知消息;
响应于所述定制化界面中发版的触发操作,向所述定制化应用包的接收方发送所述发版通知消息。
8.一种应用包的处理装置,其特征在于,所述装置包括:
应用构建模块,用于在构建目标应用的会签流程通过后,根据所述会签流程中功能组件标识以及相应的功能组件版本信息所标识的功能组件的代码仓地址,向应用构建服务器发送关于所述目标应用的应用构建请求;接收所述应用构建服务器响应于所述应用构建请求,对从所述代码仓地址获取的功能组件进行编译、打包处理后,所返回的所述目标应用初始版本的目标应用包以及所述目标应用包的版本信息;将所述目标应用包与目标应用标识对应存放至数据库中;
车型确定模块,用于展示车载应用包的定制化界面,并在所述定制化界面中展示车型选取控件;响应于对所述车型选取控件的触发操作,确定待进行应用定制化的目标车型,并展示与所述目标车型对应的应用信息;所述应用信息包括与所述目标车型对应的待发版应用以及待发版应用的功能信息;
定制应用确定模块,用于在所述定制化界面中,展示应用列表;响应于对所述应用列表的选取操作,确定待进行定制化处理的目标应用;配置信息获取模块,用于获取基于查询到的所述目标车型对应所述目标应用的功能信息对所述目标应用所提交的对应每个定制项的配置信息,所述配置信息用于对所述目标应用的指定功能进行开启或屏蔽;
应用包获取模块,用于从数据库中获取所述目标应用初始版本的目标应用包;
应用包定制模块,用于对所述目标应用包进行解压处理,得到至少一个目标文件;按照所述配置信息,依次对所述至少一个目标文件中与所述指定功能对应的可编辑配置文件进行解除屏蔽处理或删减处理后,得到定制化文件,将得到的定制化文件重新打包,得到与所述目标应用对应的适于所述目标车型的指定功能的定制化应用包;
存储模块,用于将所述会签流程、所述目标应用包以及所述定制化应用包分别与目标应用标识对应存放至数据库中;响应于关于所述目标应用标识的查询请求,展示关于所述目标应用标识的应用包列表,所述应用包列表包括所述目标应用包的版本信息以及所述定制化应用包的版本信息。
9.根据权利要求8所述的装置,其特征在于,所述配置信息获取模块还用于展示车载应用包的定制化界面,在所述定制化界面中展示关于所述定制项的定制控件;响应于为所述目标车型定制应用所提交的对应所述定制控件的触发操作,确定对应每个所述定制项的配置信息。
10.根据权利要求8所述的装置,其特征在于,所述定制项包括是否对所述目标应用包进行加固、是否对所述目标应用包进行加密、是否对所述目标应用包中的目标文件进行删减以及是否对所述目标应用包新增目标文件中的至少一种。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
应用构建模块,用于展示应用构建界面;获取在所述应用构建界面中,为构建目标应用所提交的功能组件标识以及相应的功能组件版本信息,根据所述功能组件标识以及相应的功能组件版本信息触发会签流程并发送相应的会签通知;在与所述会签流程相关的会签方响应于所述会签通知,生成会签通过指令后,确定构建目标应用的会签流程通过。
12.根据权利要求8所述的装置,其特征在于,所述应用构建模块,还用于获取构建所述目标应用所需的功能组件的代码仓地址以及代码仓分支;将所述代码仓地址以及代码仓分支作为构建参数,生成应用构建请求;向所述应用构建服务器发送所述应用构建请求。
13.根据权利要求8所述的装置,其特征在于,所述应用包定制模块还用于当所述配置信息指示对所述目标应用包进行加密处理时,则获取所述目标车型对应的加密证书,使用所述加密证书对所述至少一个目标文件进行加密处理;当所述配置信息指示对所述目标应用包进行签名处理时,则使用签名秘钥对所述目标应用包进行签名;当所述配置信息指示对所述目标应用包进行加固处理时,则对所述目标应用包进行加固处理。
14.根据权利要求8至13任一项所述的装置,其特征在于,所述装置还包括发布模块,用于获取适于所述目标车型的定制化应用包的下载地址;根据所述目标车型、所述定制化应用包的版本信息以及所述下载地址,生成适于所述目标车型的定制化应用包的发版通知消息;响应于所述定制化界面中发版的触发操作,向所述定制化应用包的接收方发送所述发版通知消息。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
16.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111065843.6A CN113515269B (zh) | 2021-09-13 | 2021-09-13 | 应用包的处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111065843.6A CN113515269B (zh) | 2021-09-13 | 2021-09-13 | 应用包的处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113515269A CN113515269A (zh) | 2021-10-19 |
CN113515269B true CN113515269B (zh) | 2021-12-31 |
Family
ID=78063286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111065843.6A Active CN113515269B (zh) | 2021-09-13 | 2021-09-13 | 应用包的处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113515269B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158741B (zh) * | 2019-12-23 | 2024-04-12 | 北京五八信息技术有限公司 | 监控业务模块对第三方类库依赖关系变化的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126205A (zh) * | 2016-06-14 | 2016-11-16 | 武汉斗鱼网络科技有限公司 | 一种安卓程序安装包的快速批量生成方法及系统 |
CN108279912A (zh) * | 2018-01-23 | 2018-07-13 | 北京粉笔蓝天科技有限公司 | 安卓多自定义属性安装包自动生成方法、系统及存储介质 |
CN108427552A (zh) * | 2018-03-01 | 2018-08-21 | 深圳市创梦天地科技有限公司 | 安卓应用安装包制作装置、方法、电子设备以及存储介质 |
CN109597620A (zh) * | 2018-08-08 | 2019-04-09 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN110888652A (zh) * | 2019-10-24 | 2020-03-17 | 福建天泉教育科技有限公司 | 基于jenkins插件的多版本构建方法及终端 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834507A (zh) * | 2014-02-10 | 2015-08-12 | 广东天心天思软件有限公司 | 一种应用构建平台的框架驱动方法 |
CN104699501B (zh) * | 2015-01-15 | 2018-02-16 | 腾讯科技(深圳)有限公司 | 一种运行应用程序的方法及装置 |
CN110989983B (zh) * | 2019-11-28 | 2022-11-29 | 深圳航天智慧城市系统技术研究院有限公司 | 一种零编码的应用软件快速构建系统 |
CN112286574A (zh) * | 2020-11-27 | 2021-01-29 | 远光软件股份有限公司 | 统计应用程序版本的方法、装置、终端设备和存储介质 |
-
2021
- 2021-09-13 CN CN202111065843.6A patent/CN113515269B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126205A (zh) * | 2016-06-14 | 2016-11-16 | 武汉斗鱼网络科技有限公司 | 一种安卓程序安装包的快速批量生成方法及系统 |
CN108279912A (zh) * | 2018-01-23 | 2018-07-13 | 北京粉笔蓝天科技有限公司 | 安卓多自定义属性安装包自动生成方法、系统及存储介质 |
CN108427552A (zh) * | 2018-03-01 | 2018-08-21 | 深圳市创梦天地科技有限公司 | 安卓应用安装包制作装置、方法、电子设备以及存储介质 |
CN109597620A (zh) * | 2018-08-08 | 2019-04-09 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN110888652A (zh) * | 2019-10-24 | 2020-03-17 | 福建天泉教育科技有限公司 | 基于jenkins插件的多版本构建方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN113515269A (zh) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11086661B2 (en) | Container chaining for automated process completion | |
US8656452B2 (en) | Data assurance | |
US7313782B2 (en) | Method for distributing, integrating, and hosting a software platform | |
US9778924B2 (en) | Platform for enabling creation and use of an API for a specific solution | |
US11755461B2 (en) | Asynchronous consumer-driven contract testing in micro service architecture | |
CN107896244B (zh) | 一种版本文件的分发方法、客户端及服务器 | |
US9990595B2 (en) | Modeled service endpoints in business process model and notation tools | |
US20120066682A1 (en) | Virtual and physical enterprise system imaging | |
WO2020015191A1 (zh) | 业务规则的发布管理方法、电子装置及可读存储介质 | |
EP2820539A1 (en) | Distribution of application files | |
CN109783118B (zh) | Fpga云主机开发方法和系统 | |
CN109542459A (zh) | 应用程序打包方法及装置、计算机装置及计算机存储介质 | |
CN115668147A (zh) | 防止集群中的未授权封装部署 | |
CN113064630B (zh) | 移动端app自动打包方法、系统、电子设备及存储介质 | |
CN111752587B (zh) | 小程序的批量处理方法、装置、电子设备以及可读存储介质 | |
CN111598575A (zh) | 业务流程控制方法、装置、电子设备和可读存储介质 | |
CN115080060A (zh) | 应用程序发布方法、装置、设备、存储介质和程序产品 | |
CN113515269B (zh) | 应用包的处理方法、装置、计算机设备和存储介质 | |
CN110928571A (zh) | 业务程序开发方法和装置 | |
US20230351050A1 (en) | Method and apparatus for custom development of payment application, computer device, and storage medium | |
CN109857374B (zh) | 移动应用的开发方法及装置 | |
US20120311591A1 (en) | License management in a cluster environment | |
CN112613063B (zh) | 一种数据核验系统构建方法及装置 | |
CN110806935B (zh) | 应用程序构建方法、装置和系统 | |
CN109814912A (zh) | 应用程序打包方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40053579 Country of ref document: HK |