CN111596931A - 应用程序封装方法、装置、电子设备及可读存储介质 - Google Patents
应用程序封装方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111596931A CN111596931A CN202010465832.6A CN202010465832A CN111596931A CN 111596931 A CN111596931 A CN 111596931A CN 202010465832 A CN202010465832 A CN 202010465832A CN 111596931 A CN111596931 A CN 111596931A
- Authority
- CN
- China
- Prior art keywords
- package
- application
- channel information
- application program
- signature
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004806 packaging method and process Methods 0.000 claims abstract description 96
- 238000009434 installation Methods 0.000 claims abstract description 44
- 238000013507 mapping Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005538 encapsulation Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 15
- 238000004891 communication Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 244000062793 Sorghum vulgare Species 0.000 description 4
- 235000019713 millet Nutrition 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种应用程序封装方法、装置、电子设备及可读存储介质。方法包括:获取未加固的应用程序包、与应用程序包对应的签名证书;从预存的渠道列表中选择与应用程序包对应的至少一个渠道信息;根据至少一个渠道信息,将签名证书、应用程序包打包生成应用程序包的安装包,用于安装包被准许在至少一个渠道信息对应的应用平台发布。在本方案中,通过直接获取未加固的应用程序包、签名证书及相应的渠道信息,便可以自动完成应用程序的封装,从而有利于简化封装的处理流程,改善应用程序封装效率低的问题。
Description
技术领域
本发明涉及软件工程技术领域,具体而言,涉及一种应用程序封装方法、装置、电子设备及可读存储介质。
背景技术
应用程序(Application,APP)开发商在发布应用程序的安装包时,通常需要针对相应的渠道信息进行封装,以上传到不同渠道信息的应用平台进行应用发布。目前,在对应用程序封装的过程中,需要对应用程序进行编程配置,对操作人员的技术要求高,使得应用程序封装的效率低。
发明内容
本申请提供一种应用程序封装方法、装置、电子设备及可读存储介质,能够改善应用程序封装的效率低的问题。
为了实现上述目的,本申请实施例所提供的技术方案如下所示:
第一方面,本申请实施例提供一种应用程序封装方法,所述方法包括:
获取未加固的应用程序包、与所述应用程序包对应的签名证书;
从预存的渠道列表中选择与所述应用程序包对应的至少一个渠道信息;
根据所述至少一个渠道信息,将所述签名证书、所述应用程序包打包生成所述应用程序包的安装包,用于所述安装包被准许在所述至少一个渠道信息对应的应用平台发布。
在上述的实施方式中,通过直接获取未加固的应用程序包、签名证书及相应的渠道信息,便可以自动完成应用程序的封装,从而有利于简化封装的处理流程,改善应用程序封装效率低的问题。
结合第一方面,在一些可选的实施方式中,根据所述至少一个渠道信息,将所述签名证书、所述应用程序包打包生成所述应用程序包的安装包,包括:
解开所述应用程序包的封装,得到解封后的应用程序;
在所述解封后的应用程序中,添加所述至少一个渠道信息及所述签名证书;
将添加有所述签名证书及所述至少一个渠道信息的所述解封后的应用程序进行打包封装,得到所述安装包。
在上述的实施方式中,通过在解封后的应用程序中自动添加签名证书及相应的渠道信息,便可以封装得到应用程序的安装包。
结合第一方面,在一些可选的实施方式中,在所述解封后的应用程序中,添加所述至少一个渠道信息及所述签名证书,包括:
在所述解封后的应用程序的渠道配置文件中,将所述渠道配置文件中的渠道信息修改为所述至少一个渠道信息,或者,当所述渠道配置文件中不存在渠道信息时,在所述渠道配置文件中添加所述至少一个渠道信息;以及
在所述解封后的应用程序中添加所述签名证书。
在上述的实施方式中,通过对解封后的应用程序添加相应的渠道信息,或将已有的渠道信息修改为相应的渠道信息,有利于用户灵活地为应用程序添加相应的渠道信息。
结合第一方面,在一些可选的实施方式中,获取未加固的应用程序包、与所述应用程序包对应的签名证书,包括:
基于用户的操作指令从第一存储空间获取所述应用程序包;
基于每个应用程序包与对应的签名证书的映射关系,从第二存储空间存储的至少一个签名证书中确定与所述应用程序包对应的签名证书。
在上述的实施方式中,基于映射关系,能够自动为应用程序包选择相应的签名证书,无需人工进行选择,从而有利于提高应用程序封装的效率。
结合第一方面,在一些可选的实施方式中,所述方法还包括:
将应用程序包存储于所述第一存储空间,以及将所述至少一个签名证书存储于所述第二存储空间。
在上述的实施方式中,通过将应用程序包、签名证书分别存储在不同的存储空间,有利于从相应的存储空间获取相应的应用程序包及签名证书。
结合第一方面,在一些可选的实施方式中,所述操作指令为拖拽所述应用程序包至操作界面的指定区域内时生成的指令,所述操作指令中携带有所述第一存储空间中存储所拖拽的应用程序包的存储地址,基于用户的操作指令从第一存储空间获取所述应用程序包,包括:
根据所述操作指令中的所述存储地址加载与所述存储地址对应的数据文件,并将所述数据文件作为所述应用程序包。
在上述的实施方式中,操作人员可以通过拖拽的方式将应用程序包拖拽至打包工具操作界面的指定区域内,从而使得打包工具能够获取到应用程序包,有利于简化获取应用程序包的实现流程。
结合第一方面,在一些可选的实施方式中,所述签名证书包括V1签名、V2签名中的至少一种。
在上述的实施方式中,签名证书可以包括V1签名、V2签名中的至少一种,从而有利于V1签名与V2签名兼容。
第二方面,本申请实施例还提供一种应用程序封装装置,所述装置包括:
获取单元,用于获取未加固的应用程序包、与所述应用程序包对应的签名证书;
选择单元,用于从预存的渠道列表中选择与所述应用程序包对应的至少一个渠道信息;
封装单元,用于根据所述至少一个渠道信息,将所述签名证书、所述应用程序包打包生成所述应用程序包的安装包,用于所述安装包被准许在所述至少一个渠道信息对应的应用平台发布。
第三方面,本申请实施例还提供一种电子设备,所述电子设备包括相互耦合的存储器、处理器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行上述的方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的电子设备的电路结构示意图。
图2为本申请实施例提供的应用程序封装方法的流程示意图。
图3为本申请实施例提供的应用程序封装方法对应的打包工具的操作界面示意图。
图4为本申请实施例提供的应用程序封装装置的功能框图。
图标:10-电子设备;11-处理模块;12-存储模块;13-通信模块;14-显示屏;100-应用程序封装装置;110-获取单元;120-选择单元;130-封装单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面结合附图,对本申请实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,本申请实施例提供一种电子设备10。电子设备10可以包括相互耦合的存储模块12、处理模块11,存储模块12内存储计算机程序,当计算机程序被处理模块11执行时,使得电子设备10执行下述的应用程序封装方法中的各步骤,能够改善对应用程序包封装的效率低的问题。
当然,电子设备10还可以包括其他模块。例如,电子设备10还可以包括通信模块13及显示屏14。通信模块13可以用于供电子设备10与服务器建立通信连接,以进行数据交互。显示屏14可以用于显示操作界面,便于用户对未加固的应用程序包进行封装操作。其中,未加固的应用程序包可以为未加固的APK(AndroidPackage,安卓软件包)文件,或者为未加固的IPA(iPhoneApplication,苹果应用程序)文件。
在本实施例中,电子设备10可以是,但不限于,个人电脑(Personal Computer,PC)、平板电脑等。
请参照图2,本申请实施例还提供一种应用程序封装方法,可以应用于上述的电子设备10中。电子设备10可以预先安装有相应的打包工具,打包工具为通过HTML、CSS和JavaScript语言,构建得到的可以跨Windows***和MacOS***的桌面应用程序。该打包工具为与本申请所提供的应用程序封装方法对应的打包工具,电子设备10可以通过打包工具执行或实现方法的各步骤。
在本实施例中,方法可以包括步骤S210至步骤S230,如下:
步骤S210,获取未加固的应用程序包、与所述应用程序包对应的签名证书;
步骤S220,从预存的渠道列表中选择与所述应用程序包对应的至少一个渠道信息;
步骤S230,根据所述至少一个渠道信息,将所述签名证书、所述应用程序包打包生成所述应用程序包的安装包,用于所述安装包被准许在所述至少一个渠道信息对应的应用平台发布。
在上述的实施方式中,通过直接获取未加固的应用程序包、签名证书及相应的渠道信息,便可以自动完成应用程序的封装,从而有利于简化封装的处理流程,改善应用程序封装效率低的问题。
下面将基于图2,对应用程序封装方法中的各步骤进行详细阐述,如下:
步骤S210,获取未加固的应用程序包、与所述应用程序包对应的签名证书。
在本实施例中,操作人员可以预先将未加固的应用程序包及签名证书,存储在两个不同的存储空间(或称为文件夹)中,然后再通过打包工具来获取未加固的应用程序包、签名证书等。其中,获取未加固的应用程序包可以由电子设备10自动去获取,或者由人工选择的方式来获取。
例如,若是由电子设备10自动获取未加固的应用程序包,步骤S210中,获取应用程序包的实现方式可以为:操作人员预先将未加固的应用程序包存储在一个指定的存储空间中,该存储空间中可以仅用于存储该应用程序包,并且该存储空间的存储地址与打包工具关联,并对打包工具进行配置,使得打包工具可以在被启动时,自动基于所关联的存储地址读取该存储空间中的文件。若该存储空间中存储有多个应用程序包,则可以根据存储地址的顺序依次获取应用程序包。其中,在获取的当前的应用程序包完成封装后,才获取下一个应用程序包。或者,在完成应用程序包的封装后,从存储空间中删除已完成封装的应用程序包,然后再从存储空间中获取另一应用程序包,以进行后续的封装处理。
因此,当操作人员启动打包工具时,打包工具便可以自动读取该存储空间中的文件,以作为获取的未加固的应用程序包,从而实现应用程序包的自动获取。
若是由操作人员通过操作打包工具,以人工的方式获取未加固的应用程序包,实现方式可以为:打包工具可以提供用于获取应用程序包的操作框,该操作框可以在被选中或被点击时,打开预先与该操作框对应的存储地址,该存储地址的存储空间用于存储应用程序包。当需要封装打包应用程序包时,在启动打包工具后,操作人员可以通过选中该操作框,打包工具可以基于操作框对应的存储地址打开相应的存储空间,然后由操作人员在存储空间中所存储的相应应用程序包中选择当前需要进行打包封装的未加固应用程序包,从而使得打包工具获取到未加固的应用程序包。
在打包工具获取到未加固的应用程序包后,可以由电子设备10自动获取与该应用程序包对应的签名证书。或者,由人工的方式,来获取与该应用程序包对应的签名证书。
作为一种可选的实施方式,步骤S210可以包括:基于用户的操作指令从第一存储空间获取所述应用程序包;基于每个应用程序包与对应的签名证书的映射关系,从第二存储空间存储的至少一个签名证书中确定与所述应用程序包对应的签名证书。
在本实施例中,若为电子设备10自动获取应用程序包,操作指令可以为用户(或操作人员)开启打包工具的指令。若为人工方式获取应用程序包,则该操作指令可以为在用户开启打包工具后,通过打包工具选择应用程序包的指令。第一存储空间即为用于预先存储应用程序包的文件夹。第二存储空间即为用于预先存储一个或多个签名证书的文件夹。应用程序包与签名证书之间可以预先建立映射关系,例如,基于应用程序包的名称与签名证书的名称,建立映射关系。
可理解地,电子设备10在接收到用户用于操作打包工具封装应用程序包的操作指令后,电子设备10中的打包工具可以根据操作指令获取到需要进行封装的应用程序包。在获取到应用程序包之后,电子设备10可以基于应用程序包与签名证书之间的映射关系,确定出与当前的应用程序包对应的签名证书。不同的应用程序包所对应的签名证书不相同。签名证书可理解为摘要与非对称密钥加密相结合的产物,摘要可理解为应用程序包内容的一个指纹信息,一旦应用程序包的内容被篡改,摘要就会改变,签名证书是摘要的加密结果,摘要改变,签名证书也会失效。其中,签名证书可以为应用程序包的开发人员通过相应的开发工具(比如,Android开发工具Android Studio),基于应用程序包生成的签名证书。
在本实施例中,签名证书用于保证封装应用程序包得到的安装包的安全性,若应用程序包的内容被篡改,则用户侧的终端设备便可以基于签名证书识别出:当前的应用程序包的内容与签名证书对应的应用程序包的内容不一致,应用程序包的内容不一致便表示应用程序包已被篡改。因此,通过签名证书有利于及时阻止用户安装被篡改的安装包。
在打包工具获取到应用程序包之后,若是由打包工具自动获取与该应用程序包对应的签名证书,其实现方式可以如下:
预先基于应用程序包的名称与签名证书的名称,建立映射关系,然后在获取到应用程序包之后,便可以通过应用程序包的名称及映射关系,确定与该名称对应的签名证书的名称,从而确定与该应用程序包对应的签名证书。比如,假设一个应用程序包的名称为“应用A”,对应的签名证书的名称为“证书A”,则可以建立“应用A”与“证书A”的映射关系。在建立映射关系后,当打包工具在获取到“应用A”后,便可以基于该映射关系,自动确定与“应用A”对应的签名证书为“证书A”。当然,映射关系可以根据实际情况进行设置,例如,映射关系中,还可以包括其他的应用程序包与相应的签名证书的映射关系,这里不再赘述。
在上述的实施方式中,基于映射关系,打包工具在启动后,能够自动为应用程序包选择相应的签名证书,无需人工选择签名证书,从而有利于提高应用程序封装的效率。
在打包工具获取到应用程序包之后,若是由人工的方式获取与该应用程序包对应的签名证书,其实现方式可以如下:
打包工具的操作界面上,可以设置有用于添加签名证书的功能区域,该功能区域可以预先与存储签名证书的第二存储空间的存储地址相关联,基于此,该功能区域在被用户选中或点击后,可以通过所关联的该存储地址,打开第二存储空间。在打开第二存储空间后,用户便可以查看第二存储空间中所存储的一个或多个签名证书。在用户通过人工的方式来获取与应用程序包对应的签名证书时,在获取到应用程序包之后,用户可以通过点击或选中该功能区域,打包工具便可以自动打开第二存储空间。用户可以提前知晓与该应用程序包对应的签名证书,在打开第二存储空间后,用户便可以查看第二存储空间中所存储的签名证书,然后选中与当前需要封装的应用程序包对应的签名证书。所选中的签名证书,便为打包工具获取的与应用程序包对应的签名证书。
作为一种可选的实施方式,所述操作指令为拖拽所述应用程序包至操作界面的指定区域内时生成的指令,所述操作指令中携带有所述第一存储空间中存储所拖拽的应用程序包的存储地址,基于用户的操作指令从第一存储空间获取所述应用程序包,包括:根据所述操作指令中的所述存储地址加载与所述存储地址对应的数据文件,并将所述数据文件作为所述应用程序包。
在本实施例中,操作人员可以通过拖拽的方式将应用程序包拖拽至打包工具操作界面的指定区域内,从而使得打包工具能够获取到应用程序包。其中,指定区域的尺寸大小可以根据实际情况进行设置。基于此,无需用户通过选中指定区域来添加相应的应用程序包,有利于简化获取应用程序包的实现流程。
例如,请参照图3,指定区域即为图中所示的“上传未加固的应用程序包”所在的矩形方框。可理解地,当需要封装应用程序包时,在以人工的方式选择/获取应用程序包的过程中,用户可以先开启打包工具,以及打开存储应用程序包的第一存储空间。在开启打包工具后,打包工具的操作界面可以如图3所示。然后由用户在第一存储空间中所存储的一个或多个应用程序包中选中当前需要封装的应用程序包,并拖拽至打包工具的指定区域内,此时,打包工具便可以加载用户所拖拽的数据文件已作为需要进行封装的应用程序包。其中,在选中应用程序包后,便可以获取到应用程序包的存储地址,即,拖拽应用程序包至操作界面的指定区域内时生成的指令中便可以自动携带应用程序包的存储地址。
在本实施例中,在步骤210之前,所述方法还包括:将应用程序包存储于所述第一存储空间,以及将所述至少一个签名证书存储于所述第二存储空间。
在本实施例中,用户可以提前创建分别用于存储应用程序包、签名证书的文件夹,或者,打包工具可以在被安装期间,可以自动创建分别用于存储应用程序包、签名证书的文件夹。存储应用程序包的文件夹即为第一存储空间,存储签名证书的文件夹即为第二存储空间。
在需要对应用程序进行封装时,用户通常可以获取到未加固的应用程序包及与应用程序包对应的签名证书(可以还包括记录有应用程序包与签名证书的映射关系的文件,如映射表)。然后将应用程序包存储在第一存储空间,将签名证书存储在第二存储空间。
在上述的实施方式中,通过将应用程序包、签名证书分别存储在不同的存储空间,便于电子设备10从第一存储空间获取应用程序包,以及从第二存储空间获取签名证书。
在本实施例中,签名证书可以包括V1签名、V2签名中的至少一种。
可理解地,打包工具可以为应用程序包添加的签名证书可以为V1签名、V2签名中的任一一种,或者为V1签名、V2签名两种签名。其中,V1签名、V2签名为本领域技术人员所熟知,分别为两种不同的签名方式得到的签名证书,这里不再赘述。
在本实施例中,签名证书可以包括V1签名、V2签名中的至少一种,从而有利于V1签名与V2签名兼容,改善添加签名证书的类型只能为V1签名,或者只能为V2签名的添加方式。
步骤S220,从预存的渠道列表中选择与所述应用程序包对应的至少一个渠道信息。
在本实施例中,渠道可理解为用于发布安装包的应用商店或应用平台,渠道信息可理解为准许安装包在该应用商店或应用平台发布的许可信息。渠道列表中可以包括一个或多个渠道信息,其渠道信息对应的渠道可以根据实际情况进行添加。用户可以从渠道列表中选择一个或多个渠道信息以作为当前需要添加在应用程序包中的至少一个渠道信息。
当安装包携带有渠道信息后,便可以发布在渠道信息对应的应用商店或应用平台上。普通用户可以通过应用商店或应用平台查找并下载所发布的安装包。当用户安装了所发布的安装包后,便表示在普通用户的用户终端(例如智能手机)上安装了APP,在用户终端通过APP和服务器交互或者数据上报时,可以携带上APP中的各个渠道信息。服务器可以基于渠道信息获取不同渠道的新用户,以及监测不同渠道的APP投放情况。
在本实施例中,应用平台的类型可以根据实际情况进行确定,渠道信息的内容可以根据所选择的应用商店或应用平台的类型而确定。例如,若安装包的应用环境为Android***,则应用商店可以包括但不限于华为应用商店、小米应用商店、豌豆荚应用商店等。若安装包的应用环境为IOS***,则应用商店可以APP Store。渠道信息即为与华为应用商店、小米应用商店、豌豆荚应用商店、APP Store等应用商店对应的标识信息。
步骤S230,根据所述至少一个渠道信息,将所述签名证书、所述应用程序包打包生成所述应用程序包的安装包,用于所述安装包被准许在所述至少一个渠道信息对应的应用平台发布。
在本实施例中,当需要将签名证书、渠道信息添加在未加固的应用程序包中时,通常需要将未加固的应用程序包进行解封,然后再将签名证书及渠道信息添加在解封后的应用程序中。其中,一个应用程序包可以添加一个或多个相同应用***的渠道信息,所添加的渠道信息的数量可以根据实际情况进行选择。例如,若一个应用程序包的应用环境为Android***,该应用程序包可以添加华为应用商店、小米应用商店、豌豆荚应用商店、APPStore等Android***的应用商店中的一个或多个的渠道信息。
可理解地,当在应用程序包中添加渠道信息及签名证书后,得到的安装包便可以在渠道信息对应的应用平台进行发布。其中,电子设备10封装得到的安装包可以存储在一指定的文件夹中,该指定的文件夹可以仅用于存储完成封装的安装包。
作为一种可选的实施方式,步骤S230可以包括:解开所述应用程序包的封装,得到解封后的应用程序;在所述解封后的应用程序中,添加所述至少一个渠道信息及所述签名证书;将添加有所述签名证书及所述至少一个渠道信息的所述解封后的应用程序进行打包封装,得到所述安装包。
在本实施例中,在所述解封后的应用程序中,添加所述至少一个渠道信息及所述签名证书,包括:在所述解封后的应用程序的渠道配置文件中,将所述渠道配置文件中的渠道信息修改为所述至少一个渠道信息,或者,当所述渠道配置文件中不存在渠道信息时,在所述渠道配置文件中添加所述至少一个渠道信息;以及在所述解封后的应用程序中添加所述签名证书。
可理解地,解封后的应用程序中通常具有用于配置渠道信息的渠道配置文件。渠道配置文件中可以添加一个或多个渠道信息。若渠道配置文件中已经存在渠道信息,可以直接将渠道配置文件中的渠道信息修改为当前需要添加的至少一个渠道信息。若渠道配置文件中不存在渠道信息,则表示渠道配置文件中还未添加渠道信息,此时可以直接在渠道信息中添加当前需要添加的至少一个渠道信息。
在上述的实施方式中,通过对解封后的应用程序添加相应的渠道信息,或将已有的渠道信息修改为相应的渠道信息,有利于用户灵活地为应用程序添加相应的渠道信息。
请再次参照图3,打包工具的操作界面可以如图3所示。该操作界面中“1、上传安装包”、“2、选择签名方式”、“3、添加签名文件”、“4、添加分包渠道”等区域。可理解地,上传安装包所在的操作界面区域,可以用于上传未加固的应用程序包。选择签名方式即为可以供用户选择V1签名、V2签名中的一种或两种签名方式。添加签名文件即为可以用于选择与未加固的应用程序包的签名证书。添加分包渠道即为可以用于选择相应的渠道信息添加在应用程序包中。
下面将基于图3,对应用程序封装方法的流程进行举例阐述,如下:
假设,当前需要封装的未加固的应用程序包为一种APK包,该APK包的名称为“miaozhen”,与该APK包对应的签名证书(或称为签名文件)为“miaozhen.jks”。“miaozhen.jks”中的“miaozhen”为签名证书的名称,“miaozhen.jks”中的“jks”为签名证书文件的数据格式。用户可以将“miaozhen”APK包存储在第一文件夹(第一存储空间),将签名证书“miaozhen.jks”存储在第二文件夹。若由打包工具自动获取签名证书,用户还可以存储“miaozhen”APK包与签名证书“miaozhen.jks”之间的映射关系映射表,该映射表可以存储在另一文件中,可以供打包工具自动获取。
当用户需要对未加固的“miaozhen”APK包进行封装时,用户可以先打开存储“miaozhen”APK包的文件夹,以及打开打包工具。在打开打包工具后,操作界面可以如图3所示,该操作界面的尺寸可以进行缩放,显示屏14的显示界面可以同时显示打包工具的操作界面以及文件夹的显示界面。用户在打开存储应用程序包的文件夹后,可以选中“miaozhen”APK包,然后将“miaozhen”APK包拖拽至图3所示的“上传未加固的应用程序包”所在的方框区域。在将APK包拖拽至该方框区域区域后,打包工具便可以自动获取到“miaozhen”APK包。然后,打包工具可以基于用户预先存储的映射表,查找到与“miaozhen”APK包对应的签名证书为“miaozhen.jks”,并进行加载。在添加签名证书的过程中,用户可以选择V1签名、V2签名中的任一种或两种作为添加的签名类型。另外还可以添加密钥,以防止签名文件被篡改。
然后,用户可以根据实际需求,从渠道列表中选中相应的渠道信息,其中,渠道列表中可以包括但不限于上述的华为应用商店、小米应用商店、豌豆荚应用商店的渠道信息。在完成渠道信息的选择后,用户可以通过点击“开始打包”控制打包工具自动完成“miaozhen”APK包的封装。或者,在选择渠道信息的时长大于或等于预设时长,且存在选中的渠道信息后,打包工具便可以自动完成“miaozhen”APK包的封装。在封装过程中,打包工具可以将“miaozhen”APK包进行解封,然后将选中的签名证书、渠道信息添加在解封后的应用程序中,再进行封装得到“miaozhen”应用程序的安装包。
基于上述设计,应用程序封装方法的操作简单,能够实现V1签名、V2签名,改善V1签名、V2签名方式不能兼容不同设备和操作***的问题。
请参照图4,本申请实施例还提供一种应用程序封装装置100。应用程序封装装置100包括至少一个可以软件或固件(Firmware)的形式存储于存储模块12中或加固在电子设备10操作***(Operating System,OS)中的软件功能模块。处理模块11用于执行存储模块12中存储的可执行模块,例如应用程序封装装置100所包括的软件功能模块及计算机程序等。其中,应用程序封装装置100可以包括获取单元110、选择单元120及封装单元130。
获取单元110,用于获取未加固的应用程序包、与所述应用程序包对应的签名证书。
选择单元120,用于从预存的渠道列表中选择与所述应用程序包对应的至少一个渠道信息。
封装单元130,用于根据所述至少一个渠道信息,将所述签名证书、所述应用程序包打包生成所述应用程序包的安装包,用于所述安装包被准许在所述至少一个渠道信息对应的应用平台发布。
可选地,封装单元130还可以用于:解开所述应用程序包的封装,得到解封后的应用程序;在所述解封后的应用程序中,添加所述至少一个渠道信息及所述签名证书;将添加有所述签名证书及所述至少一个渠道信息的所述解封后的应用程序进行打包封装,得到所述安装包。
可选地,封装单元130还可以用于:在所述解封后的应用程序的渠道配置文件中,将所述渠道配置文件中的渠道信息修改为所述至少一个渠道信息,或者,当所述渠道配置文件中不存在渠道信息时,在所述渠道配置文件中添加所述至少一个渠道信息;以及在所述解封后的应用程序中添加所述签名证书。
可选地,获取单元110还可以用于:基于用户的操作指令从第一存储空间获取所述应用程序包;基于每个应用程序包与对应的签名证书的映射关系,从第二存储空间存储的至少一个签名证书中确定与所述应用程序包对应的签名证书。
可选地,应用程序封装装置100还可以包括存储单元,用于将应用程序包存储于所述第一存储空间,以及将所述至少一个签名证书存储于所述第二存储空间。
可选地,所述操作指令为拖拽所述应用程序包至操作界面的指定区域内时生成的指令,所述操作指令中携带有所述第一存储空间中存储所拖拽的应用程序包的存储地址,获取单元110还可以用于:根据所述操作指令中的所述存储地址加载与所述存储地址对应的数据文件,并将所述数据文件作为所述应用程序包。
在本实施例中,处理模块11、存储模块12、通信模块13以及显示屏14等各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
处理模块11可以是一种集成电路芯片,具有信号的处理能力。上述处理模块11可以是通用处理器。例如,该处理器可以是中央处理器(Central Processing Unit,CPU)、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
存储模块12可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储模块12可以用于存储签名证书、应用程序包、渠道信息。当然,存储模块12还可以用于存储程序,处理模块11在接收到执行指令后,执行该程序。
通信模块13用于通过网络建立电子设备10与服务器的通信连接,并通过网络收发数据。例如,电子设备10可以将完成封装的安装包发送至服务器,以供服务器通过相应的应用平台发布该安装包。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备10、应用程序封装装置100的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
本申请实施例还提供一种计算机可读存储介质。可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的应用程序封装方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
综上所述,本申请提供一种应用程序封装方法、装置、电子设备及可读存储介质。方法包括:获取未加固的应用程序包、与应用程序包对应的签名证书;从预存的渠道列表中选择与应用程序包对应的至少一个渠道信息;根据至少一个渠道信息,将签名证书、应用程序包打包生成应用程序包的安装包,用于安装包被准许在至少一个渠道信息对应的应用平台发布。在本方案中,通过直接获取未加固的应用程序包、签名证书及相应的渠道信息,便可以自动完成应用程序的封装,从而有利于简化封装的处理流程,改善应用程序封装效率低的问题。
在本申请所提供的实施例中,应该理解到,所揭露的装置、***和方法,也可以通过其它的方式实现。以上所描述的装置、***和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种应用程序封装方法,其特征在于,所述方法包括:
获取未加固的应用程序包、与所述应用程序包对应的签名证书;
从预存的渠道列表中选择与所述应用程序包对应的至少一个渠道信息;
根据所述至少一个渠道信息,将所述签名证书、所述应用程序包打包生成所述应用程序包的安装包,用于所述安装包被准许在所述至少一个渠道信息对应的应用平台发布。
2.根据权利要求1所述的方法,其特征在于,根据所述至少一个渠道信息,将所述签名证书、所述应用程序包打包生成所述应用程序包的安装包,包括:
解开所述应用程序包的封装,得到解封后的应用程序;
在所述解封后的应用程序中,添加所述至少一个渠道信息及所述签名证书;
将添加有所述签名证书及所述至少一个渠道信息的所述解封后的应用程序进行打包封装,得到所述安装包。
3.根据权利要求2所述的方法,其特征在于,在所述解封后的应用程序中,添加所述至少一个渠道信息及所述签名证书,包括:
在所述解封后的应用程序的渠道配置文件中,将所述渠道配置文件中的渠道信息修改为所述至少一个渠道信息,或者,当所述渠道配置文件中不存在渠道信息时,在所述渠道配置文件中添加所述至少一个渠道信息;以及
在所述解封后的应用程序中添加所述签名证书。
4.根据权利要求1所述的方法,其特征在于,获取未加固的应用程序包、与所述应用程序包对应的签名证书,包括:
基于用户的操作指令从第一存储空间获取所述应用程序包;
基于每个应用程序包与对应的签名证书的映射关系,从第二存储空间存储的至少一个签名证书中确定与所述应用程序包对应的签名证书。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将应用程序包存储于所述第一存储空间,以及将所述至少一个签名证书存储于所述第二存储空间。
6.根据权利要求4所述的方法,其特征在于,所述操作指令为拖拽所述应用程序包至操作界面的指定区域内时生成的指令,所述操作指令中携带有所述第一存储空间中存储所拖拽的应用程序包的存储地址,基于用户的操作指令从第一存储空间获取所述应用程序包,包括:
根据所述操作指令中的所述存储地址加载与所述存储地址对应的数据文件,并将所述数据文件作为所述应用程序包。
7.根据权利要求1所述的方法,其特征在于,所述签名证书包括V1签名、V2签名中的至少一种。
8.一种应用程序封装装置,其特征在于,所述装置包括:
获取单元,用于获取未加固的应用程序包、与所述应用程序包对应的签名证书;
选择单元,用于从预存的渠道列表中选择与所述应用程序包对应的至少一个渠道信息;
封装单元,用于根据所述至少一个渠道信息,将所述签名证书、所述应用程序包打包生成所述应用程序包的安装包,用于所述安装包被准许在所述至少一个渠道信息对应的应用平台发布。
9.一种电子设备,其特征在于,所述电子设备包括相互耦合的存储器、处理器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010465832.6A CN111596931B (zh) | 2020-05-27 | 2020-05-27 | 应用程序封装方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010465832.6A CN111596931B (zh) | 2020-05-27 | 2020-05-27 | 应用程序封装方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111596931A true CN111596931A (zh) | 2020-08-28 |
CN111596931B CN111596931B (zh) | 2024-07-19 |
Family
ID=72187936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010465832.6A Active CN111596931B (zh) | 2020-05-27 | 2020-05-27 | 应用程序封装方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111596931B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094121A (zh) * | 2021-04-30 | 2021-07-09 | 腾讯科技(成都)有限公司 | 一种数据处理方法、设备以及计算机可读存储介质 |
CN115208687A (zh) * | 2022-07-29 | 2022-10-18 | 浙江瑞瀛物联科技有限公司 | 一种基于网关签名认证的子设备动态签名方法 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104363264A (zh) * | 2014-10-22 | 2015-02-18 | 北京棱镜云桥科技有限公司 | 移动终端软件的多渠道sdk接入***及方法 |
WO2016061762A1 (zh) * | 2014-10-22 | 2016-04-28 | 刘大澎 | 移动终端软件的多渠道sdk接入***及方法 |
CN106126205A (zh) * | 2016-06-14 | 2016-11-16 | 武汉斗鱼网络科技有限公司 | 一种安卓程序安装包的快速批量生成方法及*** |
WO2017084266A1 (zh) * | 2015-11-16 | 2017-05-26 | 乐视控股(北京)有限公司 | 一种定制多渠道安装包的方法及装置 |
CN107147750A (zh) * | 2017-07-21 | 2017-09-08 | 广州爱九游信息技术有限公司 | 上传、打包装置及服务平台、下载服务器和分发方法 |
CN107580049A (zh) * | 2017-09-05 | 2018-01-12 | 同程网络科技股份有限公司 | 一种可扩展的高效app渠道包打包平台 |
CN107844301A (zh) * | 2017-12-12 | 2018-03-27 | 苏州蜗牛数字科技股份有限公司 | 一种安卓应用渠道合包方法及装置 |
CN107885506A (zh) * | 2017-11-07 | 2018-04-06 | 深圳云步互娱网络科技有限公司 | 一种基于云配置安卓游戏多渠道打包方法及*** |
CN108363578A (zh) * | 2018-01-29 | 2018-08-03 | 深圳前海有电物联科技有限公司 | 应用程序打包方法、电子装置及计算机存储介质 |
CN108459872A (zh) * | 2018-03-08 | 2018-08-28 | 平安科技(深圳)有限公司 | 应用多渠道打包方法、装置、计算机设备及存储介质 |
CN108628617A (zh) * | 2018-05-18 | 2018-10-09 | 深圳爱加密科技有限公司 | 一种安卓应用程序的多渠道打包方法 |
CN108762761A (zh) * | 2018-05-17 | 2018-11-06 | 深圳市分期乐网络科技有限公司 | 目标渠道包的生成方法、装置、服务器及存储介质 |
CN109298869A (zh) * | 2018-08-23 | 2019-02-01 | 武汉斗鱼网络科技有限公司 | 一种目标渠道包的生成方法及相关装置 |
CN109513214A (zh) * | 2018-11-23 | 2019-03-26 | 火烈鸟网络(广州)股份有限公司 | 游戏应用转接渠道的方法、装置、存储介质及设备 |
CN109542459A (zh) * | 2018-09-29 | 2019-03-29 | 中国平安人寿保险股份有限公司 | 应用程序打包方法及装置、计算机装置及计算机存储介质 |
CN110401717A (zh) * | 2019-07-26 | 2019-11-01 | 上海优扬新媒信息技术有限公司 | 一种应用程序安装包生成方法及装置 |
CN111078223A (zh) * | 2018-10-22 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种应用程序的打包方法及装置 |
-
2020
- 2020-05-27 CN CN202010465832.6A patent/CN111596931B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104363264A (zh) * | 2014-10-22 | 2015-02-18 | 北京棱镜云桥科技有限公司 | 移动终端软件的多渠道sdk接入***及方法 |
WO2016061762A1 (zh) * | 2014-10-22 | 2016-04-28 | 刘大澎 | 移动终端软件的多渠道sdk接入***及方法 |
WO2017084266A1 (zh) * | 2015-11-16 | 2017-05-26 | 乐视控股(北京)有限公司 | 一种定制多渠道安装包的方法及装置 |
CN106126205A (zh) * | 2016-06-14 | 2016-11-16 | 武汉斗鱼网络科技有限公司 | 一种安卓程序安装包的快速批量生成方法及*** |
CN107147750A (zh) * | 2017-07-21 | 2017-09-08 | 广州爱九游信息技术有限公司 | 上传、打包装置及服务平台、下载服务器和分发方法 |
CN107580049A (zh) * | 2017-09-05 | 2018-01-12 | 同程网络科技股份有限公司 | 一种可扩展的高效app渠道包打包平台 |
CN107885506A (zh) * | 2017-11-07 | 2018-04-06 | 深圳云步互娱网络科技有限公司 | 一种基于云配置安卓游戏多渠道打包方法及*** |
CN107844301A (zh) * | 2017-12-12 | 2018-03-27 | 苏州蜗牛数字科技股份有限公司 | 一种安卓应用渠道合包方法及装置 |
CN108363578A (zh) * | 2018-01-29 | 2018-08-03 | 深圳前海有电物联科技有限公司 | 应用程序打包方法、电子装置及计算机存储介质 |
CN108459872A (zh) * | 2018-03-08 | 2018-08-28 | 平安科技(深圳)有限公司 | 应用多渠道打包方法、装置、计算机设备及存储介质 |
CN108762761A (zh) * | 2018-05-17 | 2018-11-06 | 深圳市分期乐网络科技有限公司 | 目标渠道包的生成方法、装置、服务器及存储介质 |
CN108628617A (zh) * | 2018-05-18 | 2018-10-09 | 深圳爱加密科技有限公司 | 一种安卓应用程序的多渠道打包方法 |
CN109298869A (zh) * | 2018-08-23 | 2019-02-01 | 武汉斗鱼网络科技有限公司 | 一种目标渠道包的生成方法及相关装置 |
CN109542459A (zh) * | 2018-09-29 | 2019-03-29 | 中国平安人寿保险股份有限公司 | 应用程序打包方法及装置、计算机装置及计算机存储介质 |
CN111078223A (zh) * | 2018-10-22 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种应用程序的打包方法及装置 |
CN109513214A (zh) * | 2018-11-23 | 2019-03-26 | 火烈鸟网络(广州)股份有限公司 | 游戏应用转接渠道的方法、装置、存储介质及设备 |
CN110401717A (zh) * | 2019-07-26 | 2019-11-01 | 上海优扬新媒信息技术有限公司 | 一种应用程序安装包生成方法及装置 |
Non-Patent Citations (2)
Title |
---|
刘亦守;: "电脑故障救助有道", 电脑爱好者, no. 11, 1 June 2015 (2015-06-01) * |
梁俊鹏;: "基于API频繁模式挖掘算法的Android恶意应用检测方法", 重庆文理学院学报(社会科学版), no. 05, 10 September 2016 (2016-09-10) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094121A (zh) * | 2021-04-30 | 2021-07-09 | 腾讯科技(成都)有限公司 | 一种数据处理方法、设备以及计算机可读存储介质 |
CN113094121B (zh) * | 2021-04-30 | 2023-03-10 | 腾讯科技(成都)有限公司 | 一种数据处理方法、设备以及计算机可读存储介质 |
CN115208687A (zh) * | 2022-07-29 | 2022-10-18 | 浙江瑞瀛物联科技有限公司 | 一种基于网关签名认证的子设备动态签名方法 |
CN115208687B (zh) * | 2022-07-29 | 2024-01-30 | 浙江瑞瀛物联科技有限公司 | 一种基于网关签名认证的子设备动态签名方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111596931B (zh) | 2024-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11467816B1 (en) | Method and system of running an application | |
US7640542B2 (en) | Managing midlet suites in OSGI environment | |
CN107450941B (zh) | 自动打包方法、装置、存储介质和计算机设备 | |
CN109800154B (zh) | 测试数据的加载方法、装置、计算机设备及存储介质 | |
CN111427596B (zh) | 一种软件升级的方法、装置及终端设备 | |
EP4310667A1 (en) | Ai application deployment method, and related platform, cluster, medium and program product | |
CN103677898A (zh) | 服务器侧审核加载的扩展和/或插件的方法及服务器 | |
CN111596931B (zh) | 应用程序封装方法、装置、电子设备及可读存储介质 | |
CN107798064B (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN104036194A (zh) | 一种应用程序中泄露隐私数据的漏洞检测方法及装置 | |
CN109634641B (zh) | 一种应用程序更新方法、装置、电子设备及介质 | |
CN105938436A (zh) | 一种操作***的启动控制方法及终端 | |
CN111259364B (zh) | 一种使用国密加密卡的方法、装置、设备及存储介质 | |
CN114895935A (zh) | 刷写车辆ecu的方法、装置、电子设备及存储介质 | |
CN104036193A (zh) | 一种应用程序的本地跨域漏洞检测方法及装置 | |
KR102141749B1 (ko) | App 프로그램 실행 방법 및 장치 | |
CN107092494B (zh) | 访问apk资源的方法和装置 | |
CN111610982B (zh) | 一种应用程序开发的方法、装置和相关*** | |
CN104063306A (zh) | 智能终端软件测试中的自动登录方法、装置和*** | |
CN115934654A (zh) | 实验资源的打包方法、装置、设备及存储介质 | |
CN113220314B (zh) | App资源加载及apk生成方法、装置、设备及介质 | |
CN113342660B (zh) | 文件测试方法、装置、***、电子设备及可读存储介质 | |
CN114237407A (zh) | 一种字体图标处理方法、装置及计算机可读存储介质 | |
CN113948164A (zh) | 临床药品管理方法、装置、设备及计算机可读存储介质 | |
CN109324822B (zh) | Pwa项目检测方法、计算机可读存储介质及终端设备 |
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 |