应用打包装置及方法

文档序号:6506861阅读:143来源:国知局
应用打包装置及方法
【专利摘要】本发明公开了一种应用打包装置及方法,其中,该方法包括:解压应用的安装包;从获取到的多个渠道信息中分别提取每个渠道信息;分别根据提取的每个渠道信息和经过解压处理的安装包进行打包,生成分别与每个渠道信息对应的多个安装包。通过本发明,解决了应用的安装包的多渠道打包的过程繁琐的问题,提高了多渠道打包的效率,提升了用户体验。
【专利说明】应用打包装置及方法

【技术领域】
[0001]本发明涉及数据压缩领域,具体而言,涉及一种应用打包装置及方法。

【背景技术】
[0002]终端应用的发布需要面对各种各样的市场,我们称之为渠道。有的时候,我们需要知道应用是从哪个渠道下载的。比如,我们可能需要统计哪些市场带来的用户量比较大。再比如,我们可能有一些盈利需要和具体的渠道进行分成。这些都是统计渠道的信息。
[0003]为了统计渠道信息,就不得不在程序的某个地方加入渠道的信息,然后针对不同的渠道打不同的包。一般可以在配置文件中加入渠道编号,而不直接写在代码中。也可以把渠道文件作为资源,然后在代码里读取资源信息。这样做的好处是,可以针对不同渠道,自动化去修改相关文件中的渠道编号,然后自动为该渠道打包。
[0004]相关技术中对于移动终端应用的多渠道打包主要就是通过两种方式来实现,一种就是手动的进行打包,针对每个渠道号,修改程序中相应的代码或文件,然后进行打包,这种是相当繁琐、耗时的。另一种就是借助自动打包工具,友盟实验室已经发明出了类似的多渠道打包工具,可供使用。
[0005]友盟的Android渠道打包工具是在Android的Manifest中增加关于渠道信息的标签,然后通过读取strings, xml (—种字符串资源文件)中的值来获取到渠道号。利用java编写的程序自动替换strings, xml中的渠道号,一次性的循环进行APK的打包。因此,在该打包工具界面中需要编辑配置文件。
[0006]发明人在研究过程中发现,友盟的Android渠道打包工具需要手动添加的渠道号,对于渠道号比较多的情况,使用比较麻烦;该工具所使用的渠道号格式固定,不能自定义渠道号格式;该工具主要着眼于渠道号编译,也没有单独的签名功能。
[0007]针对相关技术中应用的安装包的多渠道打包的过程繁琐的问题,目前尚未提出有效的解决方案。


【发明内容】

[0008]本发明提供了一种应用的打包装置及方法,以至少解决应用的安装包的多渠道打包的过程繁琐的问题。
[0009]根据本发明的一个方面,提供了一种应用打包装置,包括:解压模块、提取模块和打包模块,其中,所述解压模块,用于解压应用的安装包;所述提取模块,用于从获取到的多个渠道信息中分别提取每个渠道信息;所述打包模块,与所述提取模块和所述解压模块耦合,用于分别根据所述提取模块提取的每个渠道信息和经过所述解压模块解压的所述安装包进行打包,生成分别与所述每个渠道信息对应的多个安装包。
[0010]优选地,所述装置还包括:获取模块,与所述提取模块耦合,用于获取所述多个渠道信息。
[0011]优选地,所述多个渠道信息是由用户预先设置的。
[0012]优选地,在所述获取模块获取所述多个渠道信息失败的情况下,所述打包模块还用于根据经过所述解压模块解压的所述安装包,生成安装包。
[0013]优选地,所述打包模块还用于对打包得到的安装包进行命名,其中,该安装包的命名中包括生成该安装包所使用的渠道信息的标识。
[0014]优选地,所述打包模块生成的安装包为经过签名的安装包。
[0015]优选地,所述打包模块包括:替换单元,用于分别将经过所述解压模块解压的所述安装包中的渠道信息替换为提取的所述每个渠道信息;打包单元,用于对所述替换单元处理的安装包进行打包,生成分别与所述每个渠道信息对应的多个安装包。
[0016]优选地,所述装置还包括:接收模块,与所述解压模块耦合,用于通过与用户终端的连接,接收所述用户终端上传的所述应用的所述安装包;发送模块,与所述打包模块耦合,用于将经所述打包模块处理得到的安装包发送给所述用户终端。
[0017]根据本发明的另一个方面,还提供了一种应用打包方法,包括:解压应用的安装包;从获取到的多个渠道信息中分别提取每个渠道信息;分别根据提取的每个渠道信息和经过解压处理的所述安装包进行打包,生成分别与所述每个渠道信息对应的多个安装包。
[0018]优选地,在解压应用的安装包之前,所述方法还包括:通过与用户终端的连接,接收所述用户终端上传的所述应用的所述安装包;在生成分别与所述每个渠道信息对应的多个安装包之后,所述方法还包括:将经打包处理得到的安装包发送给所述用户终端。
[0019]通过本发明,采用解压模块解压应用的安装包;提取模块从获取到的多个渠道信息中分别提取每个渠道信息;打包模块分别根据提取模块提取的每个渠道信息和经过解压模块解压的安装包进行打包,生成分别与每个渠道信息对应的多个安装包的方式,解决了应用的安装包的多渠道打包的过程繁琐的问题,提高了多渠道打包的效率,提升了用户体验。

【专利附图】

【附图说明】
[0020]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0021]图1是根据本申请实施例的应用打包装置的结构框图;
[0022]图2是根据本申请优选实施例一的应用打包装置的结构框图;
[0023]图3是根据本申请优选实施例二的应用打包装置的结构框图;
[0024]图4是根据本申请优选实施例三的应用打包装置的结构框图;
[0025]图5是根据本申请实施例的应用打包方法的流程示意图;
[0026]图6是根据本申请优选实施例的打包工具的用户界面示意图;
[0027]图7是根据本申请优选实施例的打包脚本的处理流程示意图。

【具体实施方式】
[0028]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0029]本实施例提供了一种应用打包装置,图1是根据本申请实施例的应用打包装置的结构框图,如图1所示,该装置可以包括:解压模块12、提取模块14和打包模块16,其中,解压模块12,用于解压应用的安装包;提取模块14,用于从获取到的多个渠道信息中分别提取每个渠道信息;打包模块16,分别与提取模块14和解压模块12耦合,用于分别根据提取模块14提取的每个渠道信息和经过解压模块12解压的安装包进行打包,生成分别与每个渠道信息对应的多个安装包。
[0030]通过上述装置,由于采用了提取模块14分别提取多个渠道信息中的每个渠道信息,并分别使用提取出的每个渠道信息和解压模块12解压的安装包文件,生成与每个渠道信息分别对应的多个安装包文件,相比于相关技术中需要手动添加渠道号,或者需要手动选择多个渠道信息中的某一个渠道信息分别进行打包处理的方式,本实施例的效率提高了。通过本实施例解决了应用的安装包的多渠道打包的过程繁琐的问题,提高了多渠道打包的效率,提升了用户体验。
[0031]本实施例中所涉及到的模块、单元可以通过软件的方式实现,也可以通过硬件的方式来实现。本实施例中所描述的模块、单元也可以设置在处理器中,例如,可以描述为:一种处理器包括解压模块12、提取模块14和打包模块16。其中,这些模块的名称在某些情况下并不构成对该模块本身的限定,例如,解压模块还可以被描述为“用于解压应用的安装包的模块”。
[0032]在一个优选的实施例中,上述的安装包是未经过签名的安装包。
[0033]在另一个优选的实施例中,上述的安装包是已经经过签名的安装包。在这种情况下,上述装置还可以提供一个清除模块,用于对解压的安装包中的签名信息进行清除,以便于对该安装包的重新打包。
[0034]图2是根据本申请优选实施例一的应用打包装置的结构框图,如图2所示,优选地,该装置还可以包括:获取模块22,与提取模块14耦合,用于获取上述的多个渠道信息。通过该获取模块22,可以在固定的路径下获取多个渠道信息,也可以通过搜索或者根据用户的设置获取多个渠道信息,从而提高了该装置的灵活性。
[0035]优选的,上述的多个渠道信息可以是由用户预先设置的,用户可以对上述的多个渠道信息进行修改,包括删除多个渠道信息中的一个或多个,增加新的渠道信息到这些多个渠道信息中,或者对某一个或某一些渠道信息进行更改,这些更改包括更改渠道信息的格式。通过这样的方式,用户可以更自由的进行需要的多渠道打包,并且,用户也可以定义新的渠道信息,从而提升了该装置的可用性,拓展了该装置的应用场景。
[0036]优选地,在获取模块22获取多个渠道信息失败的情况下,打包模块16还用于根据经过解压模块12解压的安装包,生成安装包。例如,将解压模块12解压的安装包重新进行压缩,并且使用新的签名证书和密码对压缩的安装包进行签名,以生成安装包。
[0037]需要说明的是,获取模块22获取渠道信息失败的原因是可以有多种的,可以是装置使用过程中的故障行为,在这种情况下,该装置还可以提供一个日志生成模块,该日志生成模块用于根据该装置的故障生成对应的故障信息,以供用户查看及排查故障。还可以是用户主动设置的,例如,用户在只需要对安装包进行重新签名的情况下,用户可以将多个渠道信息中的渠道信息去除,或者使用其他方式使得获取模块22的获取行为失败(例如设置一个错误的多渠道信息的路径,或者将用于获取模块22获取多渠道信息的路径设置为空),此时,该装置仅根据经解压模块12解压的安装包,重新进行打包以生成重新签名的安装包。
[0038]优选地,上述用于签名的信息,例如签名证书、密码等,可以是由用户按照需要设置的。
[0039]优选地,打包模块16还用于对打包得到的安装包进行命名,其中,该安装包的命名中包括生成该安装包所使用的渠道信息的标识。通过使用渠道信息的标识命名的方式,可以方便用户在生成的多个安装文件中找到需要的安装文件,进一步提升了用户的体验。
[0040]优选地,该打包模块生成的安装包为经过签名的安装包,通过对安装包的签名,可以保证安装包文件的完整性以及合法性,防止了安装包被未经授权的使用或更改,提高了对安装包的保护。
[0041]图3是根据本申请优选实施例二的应用打包装置的结构框图,如图3所示,优选地,该打包装置16可以包括:替换单元32,用于分别将经过解压模块12解压的安装包中的渠道信息替换为提取的每个渠道信息;打包单元34耦合至替换单元32,用于对替换单元32处理的安装包进行打包,生成分别与每个渠道信息对应的多个安装包。对于一个安装包而言,其中可能包含有渠道信息,而这个渠道信息可能不是用户想要的渠道信息,为了将新的渠道信息添加到安装包中,例如,可以通过上述装置,将具有旧的渠道信息的安装包进行解压后,提取一个新的渠道信息,然后将新的渠道信息替换解压的安装包中的旧的渠道信息,最后对替换后的安装包文件进行打包生成新的安装包文件。
[0042]图4是根据本申请优选实施例三的应用打包装置的结构框图,如图4所示,该装置还可以包括:接收模块42,与解压模块12耦合,用于通过与用户终端的连接,接收用户终端上传的应用的安装包;发送模块44,与打包模块16耦合,用于将经打包模块16处理得到的安装包发送给用户终端。通过这样的方式,实现了一种远程的多渠道打包方式,在这种方式中,用户不再需要直接使用该装置,或者安装用于实现该装置的软件等,而只需要通过网页服务或者其他可以用于远程调用或远程文件传输的服务,将应用的安装包(优选地,还可以包括多渠道信息文件、签名证书等)发送给在远端的该装置的接收模块42接收,并通过该装置的发送模块44,接收到经过多渠道打包的多个安装包。
[0043]需要说明的是,在上述优选实施例中,提取模块14可以是和解压模块12耦合的;接收模块42也可以与提取模块14耦合。
[0044]本实施例还提供了一种应用打包方法,在不冲突的情况下,该方法的各个步骤以及功能实现也可以结合上述应用打包装置的各个模块及功能的实现进行结合说明,在此不再赘述。
[0045]图5是根据本申请实施例的应用打包方法的流程示意图,如图5所示,该流程包括如下步骤:
[0046]步骤S502,解压应用的安装包;
[0047]步骤S504,从获取到的多个渠道信息中分别提取每个渠道信息;
[0048]步骤S506,分别根据提取的每个渠道信息和经过解压处理的安装包进行打包,生成分别与每个渠道信息对应的多个安装包。
[0049]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0050]通过上述步骤,采用解压应用的安装包;从获取到的多个渠道信息中分别提取每个渠道信息;分别根据提取的每个渠道信息和经过解压处理的安装包进行打包,生成分别与每个渠道信息对应的多个安装包的方式,解决了应用的安装包的多渠道打包的过程繁琐的问题,提高了多渠道打包的效率,提升了用户体验。
[0051]优选地,在从获取到的多个渠道信息中分别提取每个渠道信息之前,该方法还包括:获取多个渠道信息。
[0052]优选地,该多个渠道信息是由用户预先设置的。
[0053]优选地,在获取多个渠道信息失败的情况下,分别根据提取的每个渠道信息和经过解压处理的安装包进行打包生成分别与每个渠道信息对应的多个安装包还包括:根据经过解压处理的安装包,生成新的安装包。
[0054]优选地,分别根据提取的每个渠道信息和经过解压处理的安装包进行打包生成分别与每个渠道信息对应的多个安装包还包括:对打包得到的安装包进行命名,其中,该安装包的命名中包括生成该安装包所使用的渠道信息的标识。
[0055]优选地,在生成分别与每个渠道信息对应的多个安装包是经过签名的安装包。
[0056]优选地,分别根据提取的每个渠道信息和经过解压处理的安装包进行打包生成分别与每个渠道信息对应的多个安装包包括:分别将经过解压处理的安装包中的渠道信息替换为提取的该每个渠道信息;对替换处理的安装包进行打包,生成分别与每个渠道信息对应的多个安装包。
[0057]优选地,在解压应用的安装包之前,该方法还包括:通过与用户终端的连接,接收用户终端上传的应用的安装包;在生成分别与每个渠道信息对应的多个安装包之后,该方法还包括:将经打包处理后得到的安装包发送给用户终端。
[0058]优选地,对于移动应用商店,当用户上传一个应用之后,该商店管理员可以使用该打包方法,自动生成多个渠道安装包,然后很快地分发到各个渠道去。
[0059]下面将结合优选的实施例对其实现过程进行描述。
[0060]本优选实施例涉及移动终端应用开发领域,具体的使用场景包括:移动终端应用需要多渠道发布时,安装包的版本制作。通过本优选实施例为移动终端应用多渠道打包提供了一个简便、灵活的工具,并且提供了单独的签名功能。
[0061]本优选实施例的方案包括以下步骤:
[0062]用户开启渠道打包工具的操作界面,进行必要的设置后,本工具自动执行渠道打包的循环操作。
[0063]其中的渠道打包流程包括:
[0064]步骤1,对用户提供安装包,进行解压之类的操作,使之能够分离出安装包里包含渠道信息的文件。这里的解压可以使用解压缩工具、或者反编译工具、平台自身提供的资源打包工具实现,渠道信息文件就存在于解压之后的对应路径下。
[0065]步骤2,从用户提供的渠道文本文件中循环提取单个渠道号,替换渠道信息文件里的原始渠道号,这里的渠道信息可以是以单个的资源文件放于安装包中,也可以是已有的资源xml文件里的字符串值。
[0066]步骤3,利用系统平台自身提供的工具类重新进行压缩、签名等操作,最后可在指定目录下获得一系列以相应渠道号命名的安装包。
[0067]优选地,渠道信息可以自定义,除了基本的渠道外还可以包含版本信息、时间等。例如“Android-v2.0>Common>V3.3.0>20130517>NA>NA>NA>baidu>NA>NA”这个渠道号,包含了平台版本、应用版本、日期、渠道信息。
[0068]优选地,当用户不设置渠道文本文件路径,即默认为只签名模式。此时可以直接调用签名工具,利用用户输入的签名信息对安装包签名。
[0069]采用本优选实施例的方案,只需要提供一个未签名终端应用安装包、签名所需的证书和密码,及一个包含渠道号的文本文件,就可以进行打包,使用方式简单。同时本优选实施例也可以只用来对终端应用安装包进行签名。并且还可以自定义渠道号的格式。
[0070]优选地,如果打包未能成功,还可以提供一个日志文件用于查看详细错误信息,用于定位。
[0071]通过本优选实施例提供的工具,解决了多渠道号发布时手动修改代码进行打包的繁琐,让对移动终端开发不太了解的人员也能进行终端应用安装包的签名和渠道打包。
[0072]在下面将以Android平台的apk程序的多渠道打包为例,结合附图对上述优选实施例提供的多渠道打包工具的使用和实现方法进行描述和说明。
[0073]该实现方法包括如下步骤:
[0074]步骤1,双击批处理文件出现工具界面,图6是根据本申请优选实施例的打包工具的用户界面示意图,如图6所示,按照界面提示输入未签名安装包路径、签名证书、签名密码、别名、别名密码。如果只是对安装包进行签名就不设置渠道文件的路径,如果需要多渠道打包,就在界面对应位置处选择保存有渠道号的文本文件路径,最后设置安装包的输出路径,点击生成。打包完成,界面会有提示,这样就可以在输出路径下看到生成的渠道版本安装包或者签名安装包。整个过程只需持续几秒中。
[0075]步骤2,在界面输入完毕并且点击生成后,对应的设置会生成相应的属性文件,然后调用打包脚本。
[0076]图7是根据本申请优选实施例的打包脚本的处理流程示意图,如图7所示,该流程包括如下步骤:
[0077]步骤S702,根据是否设置渠道文件的路径来判断目前的操作是签名还是渠道打包,若是则执行步骤S704,否则执行步骤S720 ;
[0078]步骤S704,如果是渠道打包,则调用渠道文件格式化工具由渠道号文本文件生成对应的渠道属性文件,文件内部定义一个列表(list)属性,值为所有的渠道号,每个渠道号以逗号分割;
[0079]步骤S706,利用正则表达式替换外部的渠道文件里的渠道号;
[0080]步骤S708,利用Android资源打包工具移除(remove)给定安装包里的渠道文件;
[0081]步骤S710,利用Android资源打包工具添加(add)外部已经更新的渠道文件;
[0082]步骤S712,利用签名工具对替换完成的安装包进行签名;
[0083]步骤S714,利用优化工具优化签名后的安装包,并用当前的渠道号命名该安装包;
[0084]步骤S716,遍历渠道列表里的渠道号,循环执行步骤S706至步骤S714的操作,直至遍历完成后执行步骤S718;
[0085]步骤S718,清理中间过程文件。
[0086]步骤S720,如果是签名,就调用签名工具进行签名;
[0087]步骤S722,利用安装包优化工具优化,生成最后的签名包,最后执行步骤S718清理中间过程文件。
[0088]其中,步骤S704中提及的渠道文件格式化工具,是一个c语言编写的工具,可以生产一个属性文件,文件里就是一个list属性申明,属性值就是渠道文本文件里的一个个渠道号,每个渠道号以逗号作为分隔符。这个属性可以被打包脚本读取,作为for循环task的参数。
[0089]优选地,上述优选实施例还可以设计成离线使用方式和在线使用方式,其中:
[0090]离线使用方式,就是把所有的工具相关包都提供给用户,用户按照使用说明,首先保证安装了 java执行环境,然后开启工具,在工具界面设置相关参数,直接点击生成,就可以在输出路径下获得生成的安装包;
[0091]在线使用方式,可以把工具相关的包放在云端,用户只需登录到工具使用系统,上传需要打包的安装包,渠道文本文件、签名证书和密码,启动打包。该系统自动在后台调用本工具完成打包。完成打包后,用户下载安装包即可。
[0092]综上所述,根据本发明的上述实施例、优选实施例和优选实施方式,解决了应用的安装包的多渠道打包的过程繁琐的问题,提高了多渠道打包的效率,提升了用户体验。
[0093]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0094]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种应用打包装置,其特征在于包括:解压模块、提取模块和打包模块,其中, 所述解压模块,用于解压应用的安装包; 所述提取模块,用于从获取到的多个渠道信息中分别提取每个渠道信息; 所述打包模块,与所述提取模块和所述解压模块耦合,用于分别根据所述提取模块提取的每个渠道信息和经过所述解压模块解压的所述安装包进行打包,生成分别与所述每个渠道信息对应的多个安装包。
2.根据权利要求1所述的装置,其特征在于,所述装置还包括: 获取模块,与所述提取模块耦合,用于获取所述多个渠道信息。
3.根据权利要求2所述的装置,其特征在于,所述多个渠道信息是由用户预先设置的。
4.根据权利要求2所述的装置,其特征在于,在所述获取模块获取所述多个渠道信息失败的情况下,所述打包模块还用于根据经过所述解压模块解压的所述安装包,生成安装包。
5.根据权利要求1所述的装置,其特征在于,所述打包模块还用于对打包得到的安装包进行命名,其中,该安装包的命名中包括生成该安装包所使用的渠道信息的标识。
6.根据权利要求1至5中任一项所述的装置,其特征在于,所述打包模块生成的安装包为经过签名的安装包。
7.根据权利要求1至5中任一项所述的装置,其特征在于,所述打包模块包括: 替换单元,用于分别将经过所述解压模块解压的所述安装包中的渠道信息替换为提取的所述每个渠道信息; 打包单元,用于对所述替换单元处理的安装包进行打包,生成分别与所述每个渠道信息对应的多个安装包。
8.根据权利要求1至5中任一项所述的装置,其特征在于,所述装置还包括: 接收模块,与所述解压模块耦合,用于通过与用户终端的连接,接收所述用户终端上传的所述应用的所述安装包; 发送模块,与所述打包模块耦合,用于将经所述打包模块处理得到的安装包发送给所述用户终端。
9.一种应用打包方法,其特征在于包括: 解压应用的安装包; 从获取到的多个渠道信息中分别提取每个渠道信息; 分别根据提取的每个渠道信息和经过解压处理的所述安装包进行打包,生成分别与所述每个渠道信息对应的多个安装包。
10.根据权利要求9所述的方法,其特征在于, 在解压应用的安装包之前,所述方法还包括:通过与用户终端的连接,接收所述用户终端上传的所述应用的所述安装包; 在生成分别与所述每个渠道信息对应的多个安装包之后,所述方法还包括:将经打包处理得到的安装包发送给所述用户终端。
【文档编号】G06F9/445GK104346184SQ201310332251
【公开日】2015年2月11日 申请日期:2013年8月1日 优先权日:2013年8月1日
【发明者】吴新玉, 丁岩, 陈小强 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1