掌桥专利:专业的专利平台
掌桥专利
首页

渠道包的生成方法和装置、存储介质及电子设备

文献发布时间:2023-06-19 11:29:13


渠道包的生成方法和装置、存储介质及电子设备

技术领域

本发明涉及计算机领域,具体而言,涉及一种渠道包的生成方法和装置、存储介质及电子设备。

背景技术

当前市面上有比较常见的渠道打包方式直接改写应用应用程序安装包(AndroidPackage,简称APK)中的AndroidManifest.xml文件。每个渠道包的构建,都需要先修改项目的AndroidManifest.xml文件,然后再启动构建,非常麻烦,且容易出错。此外,由于每个渠道包都要单独构建,虚幻引擎(Unreal Engine,简称UE)项目代码和资源量比较大,一个包整个构建流程需要耗时1小时以上,渠道包很多的时候,非常耗时。

因此,现有技术中的渠道包打包方式存在耗时长的问题,目前尚未存在有效的解决方案。

发明内容

本发明实施例提供了一种渠道包的生成方法和装置、存储介质及电子设备,以至少解决现有技术中的渠道包打包方式存在耗时长的技术问题。

根据本发明实施例的一个方面,提供了一种渠道包的生成方法,包括:获取目标应用的安装包,其中,所述目标应用的安装包是目标压缩格式的压缩文件;查找所述安装包的目录标记区,其中,所述目录标记区中写入的信息允许被修改;将目标渠道的渠道信息写入所述安装包的所述目录标记区,得到目标渠道包,其中,所述目标渠道包是允许通过所述目标渠道发布的渠道包。

可选地,所述将目标渠道的渠道信息写入所述安装包的所述目录标记区,得到目标渠道包,包括:在预设的渠道信息集合中获取所述目标渠道的渠道信息,其中,所述预设的渠道信息集合包括至少1个渠道的渠道信息,所述至少1个渠道用于发布由所述安装包形成的渠道包;将所述目标渠道的渠道信息写入所述目录标记区中的第一目标字段中,得到所述目标渠道包。

可选地,所述将所述目标渠道的渠道信息写入所述目录标记区中的第一目标字段中,得到所述目标渠道包,包括:将所述目录标记区中的第二目标字段的取值设置为目标取值,其中,所述第二目标字段的取值用于表示所述第一目标字段中允许写入的最大字符长度,所述目标取值所表示的所述最大字符长度大于或等于所述目标渠道的渠道信息所占的字符长度;将所述目标渠道的渠道信息写入所述第一目标字段中,得到所述目标渠道包。

可选地,所述将所述目录标记区中的第二目标字段的取值设置为目标取值,包括:确定所述目标渠道的渠道信息所占的字符长度;根据所占的字符长度,将所述目录标记区中的所述第二目标字段的取值设置为所述目标取值。

可选地,所述将所述目标渠道的渠道信息写入所述目录标记区中的第一目标字段中,得到所述目标渠道包,包括:将所述目标渠道的渠道信息写入中央目录结束标记区中的注释字段,得到所述目标渠道包,其中,所述安装包为Apk文件,所述Apk文件是Zip格式的压缩文件,所述目录标记区为所述Apk文件中的中央目录结束标记区,所述第一目标字段为所述注释字段。

可选地,所述方法还包括:获取所述安装包的签名信息,其中,所述签名信息是对所述安装包中除所述目录标记区之外的信息进行签名所得到的信息;将所述签名信息与所述目标渠道包进行关联,其中,所述签名信息用于对所述目标渠道包中除所述目录标记区之外的信息进行校验。

可选地,所述获取目标应用的安装包,查找所述安装包的目录标记区,将目标渠道的渠道信息写入所述安装包的所述目录标记区,得到目标渠道包,包括:重复执行以下步骤N次,其中,N为1或为大于或等于2的自然数:对所述目标应用的基础安装包进行复制,得到所述安装包;查找所述安装包的所述目录标记区;将当前渠道的渠道信息写入所述安装包的所述目录标记区,得到当前渠道包,其中,所述当前渠道包是允许通过所述当前渠道发布的渠道包。

可选地,所述将当前渠道的渠道信息写入所述安装包的所述目录标记区,得到当前渠道包,包括:在预设的渠道信息集合中获取所述当前渠道的渠道信息;将所述目录标记区中的第二目标字段的取值设置为目标取值,其中,所述第二目标字段的取值用于表示所述目录标记区中的第一目标字段中允许写入的最大字符长度,所述目标取值所表示的所述最大字符长度大于或等于所述当前渠道的渠道信息所占的字符长度;将所述当前渠道的渠道信息写入所述第一目标字段中,得到所述当前渠道包。

可选地,所述重复执行以下步骤N次,包括:运行预设的目标脚本,以重复执行所述步骤N次。

根据本发明实施例的另一方面,还提供了一种渠道包的生成装置,包括:获取模块,用于获取目标应用的安装包,其中,所述目标应用的安装包是目标压缩格式的压缩文件;查找模块,用于查找所述安装包的目录标记区,其中,所述目录标记区中写入的信息允许被修改;写入模块,用于将目标渠道的渠道信息写入所述安装包的所述目录标记区,得到目标渠道包,其中,所述目标渠道包是允许通过所述目标渠道发布的渠道包。

根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述渠道包的生成方法。

根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的渠道包的生成方法。

在本发明实施例中,采用将渠道信息写入安装包的目录标记区的方式,通过获取目标应用的安装包,目标应用的安装包是目标压缩格式的压缩文件;查找安装包的目录标记区,目录标记区中写入的信息允许被修改;将目标渠道的渠道信息写入安装包的目录标记区,得到目标渠道包是允许通过目标渠道发布的渠道包。达到了自动生成渠道包的目的,从而实现了减少生成渠道包的耗时,提高渠道包的生成效率的技术效果,进而解决了现有技术中的渠道包打包方式存在耗时长的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的渠道包的生成方法的应用环境的示意图;

图2是根据本发明实施例的可选的渠道包的生成方法流程示意图;

图3是根据本发明实施例的可选的发布平台示意图;

图4是根据本发明实施例的可选的渠道包的生成方法的系统框图一;

图5是根据本发明实施例的可选的渠道包的生成方法的系统框图二;

图6是根据本发明实施例的可选的中央目录结束标记区(EOCD)结构示意图;

图7是根据本发明实施例的可选的渠道包的生成方法的系统操作示意图;

图8是根据本发明实施例的可选的信息交互示意图;

图9是根据本发明实施例的可选的渠道发布整体框架图;

图10是根据本发明实施例的一种可选的渠道包的生成装置的结构示意图;

图11是根据本发明实施例的一种可选的电子设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例的一个方面,提供了一种渠道包的生成方法,可选地,作为一种可选的实施方式,上述渠道信息的写入方法可以但不限于应用于如图1所示的由服务器102和终端设备104所构成的硬件环境中。如图1所示,服务器102通过网络与终端设备104进行连接,上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述终端设备可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。

可选地,作为一种可选的实施方式,如图2所示,上述渠道包的生成方法包括:

步骤S202,获取目标应用的安装包,其中,所述目标应用的安装包是目标压缩格式的压缩文件;

其中,应用程序安装包(Android Package,简称APK)是所有文件的压缩集合,解压安装到终端之后,方可运行应用程序。压缩文件的可以是zip的压缩格式。

步骤S204,查找所述安装包的目录标记区,其中,所述目录标记区中写入的信息允许被修改;

其中,目录标记区可以是中央目录结束标记区。由于不会对目录标记区进行签名,修改目录标记区的内容并不会破坏压缩文件本身,所以目录标记区中记录的内容允许被修改。

步骤S206,将目标渠道的渠道信息写入所述安装包的所述目录标记区,得到目标渠道包,其中,所述目标渠道包是允许通过所述目标渠道发布的渠道包。

其中,渠道可以是应用程序的发布商,用户可以通过渠道发布商的发布平台,下载并安装指定的应用程序安装包。

通过上述步骤,采用将渠道信息写入安装包的目录标记区的方式,通过获取目标应用的安装包,目标应用的安装包是目标压缩格式的压缩文件;查找安装包的目录标记区,目录标记区中写入的信息允许被修改;将目标渠道的渠道信息写入安装包的目录标记区,得到目标渠道包是允许通过目标渠道发布的渠道包。达到了自动生成渠道包的目的,从而实现了减少生成渠道包的耗时,提高渠道包的生成效率的技术效果,进而解决了现有技术中的渠道包打包方式存在耗时长的技术问题。

作为一个可选的实施方式,应用程序安装包是文件的压缩集合,将应用程序安装包解压到终端之后,可在终端上运行该应用程序。用户可以在发布平台中下载不同的应用程序安装包,如图3所示是根据本发明可选实施例的发布平台示意图,用户在发布平台中下载应用程序的安装包,安装包可以下载到用户终端的本地,用户终端对安装包解压后可安装对应的应用程序。目前应用程序的发布平台有多种,不同发布平台对应不同的发布商,在该发布平台中的应用程序安装包中需要携带发布商的渠道信息,携带渠道信息的应用程序安装包可以称为渠道包。

作为一个可选的实施方式,如图4所示是根据本发明可选实施例的渠道包的生成方法的系统框图一,其中,应用程序安装包APK可以是基础包,渠道信息记录表中可以记录不同的渠道信息,例如图中的渠道信息-1、渠道信息-2等,不同的渠道信息对应于不同的渠道,例如,渠道信息-1对应于渠道1,渠道信息-2对应于渠道2。渠道包生成系统可以是运行在计算机终端的系统,渠道包生成系统可以在渠道信息记录表中获取渠道信息,将获取到渠道信息写入基础包APK中可以生成相应的渠道包,生成的渠道包可以发布在相应渠道的发布平台。例如,渠道包生成系统在渠道信息记录表中获取渠道信息-1,将渠道信息-1写入基础包APK中,得到渠道包APK-1,渠道包APK-1将发布在发布平台APP Store-1中。本实施例中,渠道包生成系统可以自动将渠道信息记录表中的渠道信息写入基础包APK中,进而可以得到不同的渠道包。减少了渠道包生成的耗时,提高了渠道包的生成效率。

作为一个可选的实施方式,上述目标压缩格式可以是Zip格式,应用功能程序安装包Apk实际是一个Zip压缩文件,上述目录标记区是应用程序安装包的一个组成部分,可以将渠道信息写入应用程序安装包的组成部分中。Zip压缩文件组成包括:(1)数据区:记录了压缩文件的所有数据;(2)中央目录区:记录压缩文件的目录信息;(3)中央目录结束标记区(EOCD):记录了中央目录大小、偏移量和Zip注释信息等。上述目录标记区可以是中央目录结束标记区。

可选地,所述将目标渠道的渠道信息写入所述安装包的所述目录标记区,得到目标渠道包,包括:在预设的渠道信息集合中获取所述目标渠道的渠道信息,其中,所述预设的渠道信息集合包括至少1个渠道的渠道信息,所述至少1个渠道用于发布由所述安装包形成的渠道包;将所述目标渠道的渠道信息写入所述目录标记区中的第一目标字段中,得到所述目标渠道包。

作为一个可选的实施方式,上述预设的渠道信息集合可以是图4所示的渠道信息记录表中记录的部分或全部渠道信息的集合。渠道包生成系统可以在渠道信息记录表中获取多个渠道信息,并将获取到的多个渠道信息写入基础包APK中。具体地,如图5所示是根据本发明可选实施例的渠道包的生成方法的系统框图二,渠道包生成系统可以复制基础包APK,假设有N个渠道信息,那么就复制N个基础包APK,将N个渠道信息分别写入N个基础包中,得到N个渠道包。

作为一个可选的实施方式,图6所示是根据本发明可选实施例的中央目录结束标记区(EOCD)结构示意图,上述第一目标字段可以是中央目录结束标记区的Comment部分,可以将渠道信息写入EOCD的Comment部分。

作为一个可选的实施方式,图7所示是根据本发明可选实施例的渠道包的生成方法的系统操作示意图,该系统界面中可以选择基础包和渠道信息,不同的应用程序对应于不同的基础包,例如,应用程序A的基础包是基础包APK-A,应用程序B的基础包是基础包APK-B。用户可以在界面中选择基础包,例如选择基础包应用程序B的基础包APK-B。选择基础包后,用户可以选择需要添加的渠道信息,不同的渠道信息对应于不同的发布渠道,如渠道信息-1对应的发布渠道是APP Store1,图中“All”可以用于表示全选,也就是选择系统中全部的渠道信息。用户也可以选择部分渠道信息,如图对渠道信息-1、渠道信息-2进行勾选,或选中渠道信息-1、渠道信息-2。对基础包和渠道信息选择完成后,通过点击“生成渠道包”即可将渠道信息写入基础包的EOCD区域,生成相应的渠道包。假设选择APK-B,选择渠道信息1和渠道信息2后,生成渠道包APK-B-1,APK-B-2,其中,渠道包APK-B-1发布于渠道1的平台,APK-B-2发布于渠道2的平台,在渠道1的平台和渠道2的平台均可以下载应用程序B的安装包。在本实施例中,通过渠道包生成系统可以一键生成不同的渠道包,节省了渠道包的生成时间,提高了渠道包的生成效率。

作为一个可选的实施方式,如图8所示是根据本发明可选实施例的信息交互示意图,其中,渠道包的生成方法的系统中包括客户端和服务器,服务器中运行有渠道包的生成方法的系统的脚本文件,服务器中的存储器用于存储应用程序安装包APK和渠道信息记录表。用户可以通过客户端发出渠道包生成请求,服务器在接收到请求之后,向客户端提供应用程序安装包列表,其中,应用程序安装包列表中包括不同的应用程序安装包,这里不同的应用程序安装包是指不同应用程序对应的安装包,例如,应用程序安装包列表中包括APK-A和APK-B,其中APK-A是应用程序A的基础包,APK-B是应用程序B的基础包。服务器还向客户端提供渠道信息记录表,渠道信息记录表中记录了不同的渠道信息,不同的渠道信息对应于不同的发布渠道,例如,渠道信息-1对应的发布渠道是渠道1,渠道信息-2对应的发布渠道是渠道2。用户可以在应用程序安装包列表选择应用程序安装包,在渠道信息记录表中选择渠道信息。假设用户在应用程序安装包列表选择了APK-B,在渠道信息记录表中选择渠道信息-1,渠道信息-2。服务器在接收到用户选择的APK-B,渠道信息-1,渠道信息-2。服务器将APK-B进行复制,复制为两个基础包APK-B,将渠道信息-1和渠道信息-2分别添加到两个基础包APK-B中,得到渠道包APK-B-1,APK-B-2。服务器向相应的发布平台发送渠道包,以使相应发布平台上发布对应的渠道包,例如,在发布平台1发布渠道包APK-B-1,在发布平台2发布渠道包APK-B-2。在本实施例中,用户可以在客户端选择基础包和选择渠道信息,服务器可以根据用户选择的基础包和渠道信息生成渠道包,本申请可以同时自动生成多种不同的渠道包,避免了现有技术中每个渠道包都要单独构建,操作复杂且耗时的问题,提升了渠道包的生成效率。

可选地,所述将所述目标渠道的渠道信息写入所述目录标记区中的第一目标字段中,得到所述目标渠道包,包括:将所述目录标记区中的第二目标字段的取值设置为目标取值,其中,所述第二目标字段的取值用于表示所述第一目标字段中允许写入的最大字符长度,所述目标取值所表示的所述最大字符长度大于或等于所述目标渠道的渠道信息所占的字符长度;将所述目标渠道的渠道信息写入所述第一目标字段中,得到所述目标渠道包。

作为一个可选的实施方式,第二目标字段可以是中央目录结束标记区(EOCD)结构中的Comment length字段,该字段用于表示Comment中允许写入的字符的最大长度。通过改变Comment length(n)中的n值改变Comment字段中允许写入字符的最大长度。Commentlength(n)中的n值的初始值可以是0,此时表示Comment字段中不允许写入字符。Commentlength(10)表示Comment字段中允许写入字符的最大长度是10个字符。此时Comment字段可以写入10个字符以内的字符,例如,可以写入9个字符、8个字符、1个字符等。在本实施例中,可以根据目标渠道的渠道信息中包含的字符长度,修改上述第二目标字段的取值。第二目标字段的取值大于或等于渠道信息中包含的字符长度。例如,渠道信息为abc,包含3个字符,Comment length(n)中的n值可以设置为大于或等于3的任意数值,例如可以是4、5等。将第二字段Comment length(n)中的n值设置完成后,可以将渠道信息abc写入Comment字段。在本实施例中,通过修改Comment length(n)中n的取值,并将渠道信息写入Comment字段,得到渠道包。可以避免构建渠道包的过程中添加渠道信息导致的耗时问题,本申请通过将渠道信息写入安装包的EOCD区的Comment字段,可以达到节省时间,提高渠道包生成效率的效果。

可选地,所述将所述目录标记区中的第二目标字段的取值设置为目标取值,包括:确定所述目标渠道的渠道信息所占的字符长度;根据所占的字符长度,将所述目录标记区中的所述第二目标字段的取值设置为所述目标取值。

作为一个可选的实施方式,可以根据渠道信息的字符长度,修改第二目标字段的取值,第二目标字段的取值大于或等于渠道信息的字符长度。假设渠道信息为cdei6_h,可以确定该渠道信息所占的字符长度为7个字符,第二目标字段的取值可以设置为大于或等于7的任意数值,例如可以是可以将Comment length(n)中的n值设置为10,此时第二目标字段为Comment length(10)。第二目标字段的取值用于表示第一目标字段中允许写入的最大字符长度,通过根据渠道信息的字符长度设置第二目标字段的取值,可以将渠道信息写入第一目标字段。在本实施例中,通过将渠道信息写入安装包的中央目录结束标记区(EOCD)的Comment字段,不同渠道包仅需将对应的渠道信息写入基础包APK中即可,并不需要单独构建渠道包,避免了每个渠道包都要单独构建的耗时问题,节省了渠道包的构建时间,提高了渠道包的生成效率。

可选地,所述将所述目标渠道的渠道信息写入所述目录标记区中的第一目标字段中,得到所述目标渠道包,包括:将所述目标渠道的渠道信息写入中央目录结束标记区中的注释字段,得到所述目标渠道包,其中,所述安装包为Apk文件,所述Apk文件是Zip格式的压缩文件,所述目录标记区为所述Apk文件中的中央目录结束标记区,所述第一目标字段为所述注释字段。

作为一个可选的实施方式,安装包是Apk文件,Apk文件实际是一个Zip压缩文件,Apk文件包括中央目录结束标记区(EOCD),中央目录结束标记区(EOCD)记录了中央目录大小、偏移量和Zip注释信息等。可以将渠道信息写入中央目录结束标记区(EOCD)中的注释字段,注释字段可以是Comment字段。由于不会对EOCD部分进行校验,所以可以将渠道信息写入EOCD的Comment部分。在本实施例中,由于并不会对EOCD部分进行校验,写入渠道信息并不需要修改Apk文件的签名信息,在节省渠道包生成时间的基础上,还提高了Apk文件的安全性。

可选地,所述方法还包括:获取所述安装包的签名信息,其中,所述签名信息是对所述安装包中除所述目录标记区之外的信息进行签名所得到的信息;将所述签名信息与所述目标渠道包进行关联,其中,所述签名信息用于对所述目标渠道包中除所述目录标记区之外的信息进行校验。

作为一个可选的实施方式,在终端的系统平台上运行的每个应用程序都必须有开发者的签名,例如在Android平台上运行的每个应用都必须有开发者的Android签名。由于在对安装包进行签名时不会对安装包的EOCD部分进行校验,所以可以将渠道信息写入EOCD的Comment部分。在本实施例中,由于安装包的签名信息是对目录标记区之外的信息进行校验,并不会对EOCD部分进行校验,因此,将渠道信息写入EOCD区不用修改安装包的签名信息,避免了重签名带来的安全问题。达到了保证渠道包的安全性的技术效果。

可选地,所述获取目标应用的安装包,查找所述安装包的目录标记区,将目标渠道的渠道信息写入所述安装包的所述目录标记区,得到目标渠道包,包括:重复执行以下步骤N次,其中,N为1或为大于或等于2的自然数:对所述目标应用的基础安装包进行复制,得到所述安装包;查找所述安装包的所述目录标记区;将当前渠道的渠道信息写入所述安装包的所述目录标记区,得到当前渠道包,其中,所述当前渠道包是允许通过所述当前渠道发布的渠道包。

作为一个可选的实施方式,在本实施例中可以同时生成N个渠道包,N的值可以根据实际情况而定,例如可以是1、2、10、100等。具体地,可以构建基础安装包,基础安装包是应用程序安装文件的压缩包,可以将基础安装包复制成N份,将N个不同的渠道信息写入N个基础安装包的中央目录结束标记区(EOCD)即可得到N个渠道包,N个渠道包可以发布在对应渠道的发布平台。假设,存在渠道信息abc、123、rao9-1三个渠道信息,这三个渠道信息分别对应A、B、C三个不同的渠道商,可以将基础安装包APK复制三份,分别将abc、123、rao9-1写入三个基础安装包APK中,可以得到A、B、C三个不同的渠道商对应的渠道包A、渠道包B、渠道包C,其中,渠道包A中包括渠道信息abc,渠道包B中包括渠道信息123,渠道包C中包括渠道信息rao9-1。渠道包A、渠道包B和渠道包C可以发布到A、B、C三个不同渠道商对应的发布平台。在本实施例中,通过复制基础安装包,将不同渠道信息分别写入基础安装包,可以同时生成多个包含不同渠道信息的渠道包,提高了渠道包的生成效率。

可选地,所述将当前渠道的渠道信息写入所述安装包的所述目录标记区,得到当前渠道包,包括:在预设的渠道信息集合中获取所述当前渠道的渠道信息;将所述目录标记区中的第二目标字段的取值设置为目标取值,其中,所述第二目标字段的取值用于表示所述目录标记区中的第一目标字段中允许写入的最大字符长度,所述目标取值所表示的所述最大字符长度大于或等于所述当前渠道的渠道信息所占的字符长度;将所述当前渠道的渠道信息写入所述第一目标字段中,得到所述当前渠道包。

作为一个可选的实施方式,渠道包的生成可以包括如下步骤:

步骤S31,在预设的渠道信息集合中获取渠道信息,其中,预设的渠道信息集合中可以是渠道信息记录表中记录的多个渠道信息构成的集合,例如渠道信息-1、渠道信息-2等。可以在预设的渠道信息集合中分别依次获取渠道信息,例如依次获取渠道信息-1、渠道信息-2。

步骤S32,对中央目录结束标记区(EOCD)中的Comment length(n)字段的n的取值进行设置。具体地,可以根据渠道信息中包含的字符个数设置n的取值。n值大于或等于渠道信息包含的字符个数,例如,渠道信息中包含3个字符,则Comment length(n)中的n值可以设置为大于或等于3的数值。

步骤S33,将渠道信息写入中央目录结束标记区(EOCD)的Comment字段,得到渠道包。

可选地,所述重复执行以下步骤N次,包括:运行预设的目标脚本,以重复执行所述步骤N次。

在本实施例中,可以通过脚本实现上述渠道包的生成过程,可以运行一次脚本文件,同时生成N个渠道包。在本实施例中,脚本文件可以是自动执行的,通过自动执行一次脚本文件可以同时生成N个不同的渠道包,提升了渠道包的生成效率。

作为一个可选的实施方式,如图9所示是根据本发明可选实施了的渠道发布整体框架图,可以使用构建系统构建、生成所有渠道包,并将生成的渠道包保存至云存储。会定将要发布的渠道包,同步到云盘服务器。渠道运营商可以按需去云盘服务器上下载获取指定渠道包,并发布到自己的运营平台。这种一键式发布流程,大大简化了渠道发布的流程,渠道运营商能方便快捷地获取指定渠道包。本申请缩减了出包时间,也提高了渠道包的安全性,同时又是自动生成的,提高渠道包生成效率。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

根据本发明实施例的另一个方面,还提供了一种用于实施上述渠道包的生成方法的渠道包的生成装置。如图10所示,该装置包括:获取模块1002,用于获取目标应用的安装包,其中,所述目标应用的安装包是目标压缩格式的压缩文件;查找模块1004,用于查找所述安装包的目录标记区,其中,所述目录标记区中写入的信息允许被修改;写入模块1006,用于将目标渠道的渠道信息写入所述安装包的所述目录标记区,得到目标渠道包,其中,所述目标渠道包是允许通过所述目标渠道发布的渠道包。

可选地,上述装置还用于通过如下方式实现所述将目标渠道的渠道信息写入所述安装包的所述目录标记区,得到目标渠道包:在预设的渠道信息集合中获取所述目标渠道的渠道信息,其中,所述预设的渠道信息集合包括至少1个渠道的渠道信息,所述至少1个渠道用于发布由所述安装包形成的渠道包;将所述目标渠道的渠道信息写入所述目录标记区中的第一目标字段中,得到所述目标渠道包。

可选地,上述装置还用于通过如下方式实现上述将所述目标渠道的渠道信息写入所述目录标记区中的第一目标字段中,得到所述目标渠道包:将所述目录标记区中的第二目标字段的取值设置为目标取值,其中,所述第二目标字段的取值用于表示所述第一目标字段中允许写入的最大字符长度,所述目标取值所表示的所述最大字符长度大于或等于所述目标渠道的渠道信息所占的字符长度;将所述目标渠道的渠道信息写入所述第一目标字段中,得到所述目标渠道包。

可选地,上述装置还用于通过如下方式实现所述将所述目录标记区中的第二目标字段的取值设置为目标取值:确定所述目标渠道的渠道信息所占的字符长度;根据所占的字符长度,将所述目录标记区中的所述第二目标字段的取值设置为所述目标取值。

可选地,上述装置还用于通过如下方式实现所述将所述目标渠道的渠道信息写入所述目录标记区中的第一目标字段中,得到所述目标渠道包:将所述目标渠道的渠道信息写入中央目录结束标记区中的注释字段,得到所述目标渠道包,其中,所述安装包为Apk文件,所述Apk文件是Zip格式的压缩文件,所述目录标记区为所述Apk文件中的中央目录结束标记区,所述第一目标字段为所述注释字段。

可选地,上述装置还用于获取所述安装包的签名信息,其中,所述签名信息是对所述安装包中除所述目录标记区之外的信息进行签名所得到的信息;将所述签名信息与所述目标渠道包进行关联,其中,所述签名信息用于对所述目标渠道包中除所述目录标记区之外的信息进行校验。

可选地,上述装置还用于通过如下方式实现所述获取目标应用的安装包,查找所述安装包的目录标记区,将目标渠道的渠道信息写入所述安装包的所述目录标记区,得到目标渠道包:重复执行以下步骤N次,其中,N为1或为大于或等于2的自然数:对所述目标应用的基础安装包进行复制,得到所述安装包;查找所述安装包的所述目录标记区;将当前渠道的渠道信息写入所述安装包的所述目录标记区,得到当前渠道包,其中,所述当前渠道包是允许通过所述当前渠道发布的渠道包。

可选地,上述装置还用于通过如下方式实现所述将当前渠道的渠道信息写入所述安装包的所述目录标记区,得到当前渠道包:在预设的渠道信息集合中获取所述当前渠道的渠道信息;将所述目录标记区中的第二目标字段的取值设置为目标取值,其中,所述第二目标字段的取值用于表示所述目录标记区中的第一目标字段中允许写入的最大字符长度,所述目标取值所表示的所述最大字符长度大于或等于所述当前渠道的渠道信息所占的字符长度;将所述当前渠道的渠道信息写入所述第一目标字段中,得到所述当前渠道包。

可选地,上述装置还用于通过如下方式实现所述重复执行以下步骤N次:运行预设的目标脚本,以重复执行所述步骤N次。

根据本发明实施例的又一个方面,还提供了一种用于实施上述渠道包的生成方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图11所示,该电子设备包括存储器1102和处理器1104,该存储器1102中存储有计算机程序,该处理器1104被设置为通过计算机程序执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

S1,获取目标应用的安装包,其中,所述目标应用的安装包是目标压缩格式的压缩文件;

S2,查找所述安装包的目录标记区,其中,所述目录标记区中写入的信息允许被修改;

S3,将目标渠道的渠道信息写入所述安装包的所述目录标记区,得到目标渠道包,其中,所述目标渠道包是允许通过所述目标渠道发布的渠道包。

可选地,本领域普通技术人员可以理解,图11所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图11其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图11中所示更多或者更少的组件(如网络接口等),或者具有与图11所示不同的配置。

其中,存储器1102可用于存储软件程序以及模块,如本发明实施例中的渠道包的生成方法和装置对应的程序指令/模块,处理器1104通过运行存储在存储器1102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的渠道包的生成方法。存储器1102可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1102可进一步包括相对于处理器1104远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1102具体可以但不限于用于存储物品的样本特征与目标虚拟资源账号等信息。作为一种示例,如图11所示,上述存储器1102中可以但不限于包括上述渠道包的生成装置中的获取模块1002、查找模块1004、写入模块1006。此外,还可以包括但不限于上述渠道包的生成装置中的其他模块单元,本示例中不再赘述。

可选地,上述的传输装置1106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1106包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1106为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

此外,上述电子设备还包括:显示器1108,用于显示上述待处理的订单信息;和连接总线1110,用于连接上述电子设备中的各个模块部件。

在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:

S1,获取目标应用的安装包,其中,所述目标应用的安装包是目标压缩格式的压缩文件;

S2,查找所述安装包的目录标记区,其中,所述目录标记区中写入的信息允许被修改;

S3,将目标渠道的渠道信息写入所述安装包的所述目录标记区,得到目标渠道包,其中,所述目标渠道包是允许通过所述目标渠道发布的渠道包。

可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 渠道包的生成方法和装置、存储介质及电子设备
  • 生成渠道包的方法、装置与批量生成渠道包的方法、系统
技术分类

06120112942373