一种安卓程序安装包的快速批量生成方法及系统与流程

文档序号:11864362阅读:335来源:国知局
一种安卓程序安装包的快速批量生成方法及系统与流程
本发明属于移动互联网领域,更具体地,涉及一种安卓程序安装包的快速批量生成方法及系统。
背景技术
:开发出一款移动应用软件后,一般除了放在公司官网/个人主页提供给用户下载使用外,还有一个很重要的推广方式,就是应用商店,比如苹果公司的appstore、谷歌公司的androidmarket。要想自己的应用软件能被更多的用户了解、使用,发布到应用商店是必不可少的推广渠道。目前移动互联网行业发展迅猛,各种手机、平板电脑、智能电视软件层出不穷,作为移动软件的主要下载渠道应用商店也是各种各样,目前国内的应用商店多达上百种。所以一般推广做的比较好的应用,每次版本升级,都会至少同步发布到几十家应用商店中。为了方便日后统计各个应用商店的下载量、用户活跃度、使用习惯等等,就需要为针对每个应用商店的应用打包出不同的程序安装包。由此在统计数据时,能区分出哪些用户是对应通过哪个应用商店下载的软件。这样在每发布一次程序版本,就需要生产几十个程序安装包,现有技术中通过如下方式来生成程序安装包:(1)通过androidstudio编程工具生成安装包,但是上述方法中每1次只能生产1个安装包,每生产1个安装包大概需要5分钟,若生产50个安装包,则需要大量的重复操作,效率很低,而且每次都是人工操作,出错率比较高;(2)通过编写Gradle打包脚本来实现批量生成安装包,在上述方法中由于Gradle每生产1个安装包,都需要重新构建1次项目工程,构建1次项目工程大概需要5分钟,构建项目工程与计算机性能有关,虽然减少了人工操作,但是效率还仍有待提高。总之,在上述方法中,每次打包都需要重新完成编译build,而这个过程的存在使得批量打包耗费时间长,严重地降低了针对应用商店程序的安装包的批量打包效率。技术实现要素:针对现有技术的以上缺陷或改进需求,本发明提供了一种安卓程序安装包的快速批量生成方法系统,其目的在于提高大程序安装包的批量生成效率。为实现上述目的,按照本发明的一个方面,提供了一种安卓程序安装包的快速批量生成方法,其特征在于,该生成方法包括如下步骤:打包文件准备:生成未签名安卓程序安装包,设置一具有多个渠道号标识符的文件;解压所述未签名安卓程序安装包;依次读取所述渠道号标识符的文件中的所述渠道号标识符,对所述解压后的未签名安卓程序安装包中的配置文件的渠道号进行修改成为所述渠道号标识符,修改后重新打包由此实现安卓程序安装包的批量生成。进一步地,所述相应的安装程序中的配置文件为AndroidManifest。进一步地,所述渠道号标识符的文件的标识符用于标识所述安卓程序安装包对应的应用商店。进一步地,所述渠道号标识符换行编辑。进一步地,所述打包文件准备步骤中还包括生成所述安卓程序安装包的密钥文件。进一步地,所述重新打包修改所述渠道号后的安卓程序安装包的步骤之后还包括对每个打包的安卓程序安装包填写所述密钥文件的路径和密码。进一步地,所述解压、修改和重新打包步骤通过编写脚本文件自动执行。另外方面,本发明还提出了一种安卓程序安装包的快速批量生成系统,其特征在于,该系统主要包括:未签名的安卓程序安装包生成模块、脚本运行模块和存储模块;所述脚本运行模块包括签名程序安装包生成模块以及界面指令单元;批量打包存储模块包括第一存储单元以及第二存储单元;所述界面指令单元接收脚本指令,所述签名程序安装包生成模块依据所述脚本指令完成签名程序安装包的生成;所述签名程序安装包生成模块包括解压子单元、修改子单元;所述解压子单元用于调用未签名的安卓程序安装包进行解压并且将解压后的文件保存于所述第一存储单元;所述修改子单元用于读取所述第一存储单元中的渠道号标识符文件并对所述解压后的未签名安卓程序安装包文件中的配置文件AndroidManifest文件的渠道号修改为渠道号标识符并重新打包。进一步地,所述第一存储单元中一直存储所述未签名的安卓程序安装包解压后的副本。进一步地,所述签名程序安装包生成模块还包括密钥添加子单元;所述密钥添加子单元对所述修改子单元产生的安装包添加从所述第一存储单元读取的密钥文件生成签名安装包发送于所述第二存储单元。总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:(1)本发明采用直接修改安装包中的渠道名,不需要编译,由于采用的手段是通过执行设计好的python脚本,由计算机自动完成生产程序包的工作,减少人工干预度,出错率为0;(2)执行效率高,平均每一个安装包的生成时间减少为20秒,在生产法批量的安装包时,提高的工作效率尤为可观。附图说明图1是按照本发明实现的安卓程序安装包的快速批量生成方法的基本流程示意图;图2是按照本发明实现的安卓程序安装包的快速批量生成方法中的运行流程细节过程示意图;图3是按照本发明实现的安卓程序安装包的快速批量生成方法中脚本执行的自动化打包的流程示意图;图4是按照本发明实现的安卓程序安装包的快速批量生成系统的组成框图;图5是按照本发明实现的安卓程序安装包的快速批量生成系统中的脚本模块中的程序安装包生成单元的组成框图;图6是按照本发明实现的安卓程序安装包的快速批量生成方法的核心过程对比示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。按照本发明实现的安卓程序安装包的快速批量生成方法,其主要解决如下方面的问题:安装安卓程序安装包的打包工具;对适用于不同应用商店的安卓程序安装包进行标识;实现自动化执行程序包的生成。其中按照本发明执行的快速批量生成方法,其区别于现有技术中的关键部分在于标识和自动化执行的,即在对不同应用商店的安卓程序安装包进行标识的时候,设计出了一种新的方式,并且采用基于脚本编写的自动化执行过程,能够显著地提高安卓程序安装包的快速批量生成的效率。其实质上来说,就是现有技术中的打包方法,在完成编译build的过程后,来修改针对应用商店的标识符code,再重新生成未签名的APK,签名之后再重新编译,而在本发明中,直接采用解压的方式对未签名APK实现操作,从而再对安卓程序安装包中的文件来进行修改code的操作,节省了反复编译的时间。具体地来说,解决上述的问题主要经过如下的手段来执行:(1)解决打包问题首先需要准备好计算机软件工具:jdk、apkTool,确保它们正确安装到计算机中,通过这2个工具执行android程序的打包,此时生成的安卓程序安装包包括未针对应用商店标识的安装包文件,以及针对每个安装包的签名密钥key文件及密码;(2)对适用于不同应用商店的安卓程序安装包进行标识在每个安卓程序安装包的应用程序的配置文件中,设置一个渠道号标识ChannelCode,这个标识是有待后续进行批量打包的时候写入,属于配置文件中的一项内容,对其进行修改从而完成不同的应用商店分配不同的渠道号,同时生成一个专门统一存放上述待写入的各个应用商店的ChannelCode标识符的文件,对所有的应用商店实现统一的应用管理,其中对该文件的格式并无要求,并且对存储位置也没有要求,只需要在后续执行自动打包程序的时候能够方便读取其即可。(3)解决自动化执行问题在本发明中,通过编写python脚本,通过执行python脚本实现对APK文件先解包、再对配置文件中的ChannelCode修改渠道号标识,最后再次打包。针对每个不同应用商店的安卓程序安装包只需执行一条命令,并等待计算机完成任务即可生成,并且整个批量打包过程只执行一次编译,按照此方式,顺序执行,由此可以完成安卓程序安装包的快速批量生成。实施例1如图1所示,本实施例涉及的方法主要包括如下核心流程:打包文件准备:包括未签名安装包、密钥、密钥路径、渠道号标识符文件;解压文件包:直接对未签名安装包实现解压;修改安装包中的配置文件中的渠道号;密钥生成获取安装包。如图2所示,在具体的执行步骤上,按照本发明实现的安卓程序安装包的快速批量生成方法,整个快速批量程序包的生成包括如下步骤:STEP1:确定需要上传的安装包所对应的应用商店的信息,为每个应用商店分配标识符,一般该标识符为编号形式;STEP2:编写应用商店渠道号标识符统一文件,该文件无任何格式要求,将针对每个不同应用商店的渠道号标识符之间采用可辨别提取的分隔符例如,#,{},等来区别编写即可。将文件命名为channel,文件名无格式要求,但在之后的python脚本中需要通过该文件名来读取该文件从而获取应用商店相应的渠道号标识符,以便实现配置文件内容中的channel=”code”的code写入为相应的渠道号标识符。STEP3:在计算机上安装所需打包软件工具:确保jdk、apkTool、python正确安装到计算机中;STEP4:打包未签名的程序包:利用androidstudio工具,打包出未签名的应用程序安装包;STEP5:通过apkTool.jar解压上述打包出的未签渠道名的应用程序安装包;STEP6:修改解压出来的应用程序中的配置文件AndroidManifest中的渠道号为从CHANNEL文件读取出来的渠道号;STEP7:重新打包出签渠道名的程序安装包;STEP8:获取待打包的应用程序的签名秘钥key及密码;STEP9:为上述打包的程序安装包填写签名秘钥文件key的路径及密码;STEP10:重复上述STEP6-STEP9直到完成所有的批量程序安装包的生成。实施例2如图3所示,在完成上述的批量生成步骤中,本发明另外还通过编写python脚本的方式来辅助自动执行批量安装包的生成,其中脚本的功能涉及的步骤如下:STEP1:通过apkTool.jar解压上述打包出的未签渠道名的应用程序安装包,该未签渠道名的安装包是暂时未针对每个应用商店生成的安装包;STEP2:读取渠道号标识符文件中的其中一条渠道号标识符;STEP3:修改解压出来的应用程序中的配置文件AndroidManifest中的渠道号为读取出来的渠道号标识符;STEP4:重新打包出签渠道名的程序安装包;STEP5:填写好签名秘钥文件key的路径及密码由此完成针对一个应用商店的安卓程序安装包的生成;重复上述步骤STEP2~STEP5,由此完成针对所有的应用商店的安卓程序安装包的快速批量生成。按照本实施例实现的安卓程序安装包的快速批量生成方法,其脚本执行的批量打包生成过程具体操作过程如下:(1)将签名程序安装包的秘钥key文件、apktool.jar文件、渠道号标识符文件channel、python脚本文件BuildTool.py放到某统一文件目录下;(2)在windows的命令行界面,进入到该文件目录下;(3)在windows的命令行界面,输入命令pythonBuildTool.py即可自动打包好渠道号文件中涉及的所有的渠道安装包。总之,按照本发明实现的安卓程序安装包的快速批量生成方法,发现依据对配置文件的一处修改不需要重新编译,并且为适应于本发明的打包方法,舍弃了目前采用的基于上层开发工具来点击按钮直接实现一键打包的操作方式,而是采用脚本直接去调用开发工具来实现打包,使得整个过程能够实现更加快速的打包处理。如下表1所示,即是按照本发明实现的批量打包方法和现有技术中的批量打包方法的过程对比示意图,从其中可以发现过程上的实质区别,因为节省了build编译的过程,显著地节省了时间。表1打包方法的步骤顺序对比现有技术的打包方法本发明的打包方法BuildBuild修改code生成未签名APK生成未签名APK解压签名修改codeBuild签名修改code修改code签名如图4、5另外一方面,本发明还公开了一种用于实现安卓程序安装包的快速生成的系统,该系统主要包括:未签名安卓程序安装包生成模块、脚本运行模块和存储模块,其中脚本运行模块包括签名程序安装包生成模块以及界面指令单元;其中存储模块包括第一存储单元以及第二存储单元;其中未签名安程序安装包生成模块主要用于采用打包工具生成未签名的安装包文件apktool.jar文件;其中第一存储单元用于存储编辑好的渠道号标识符文件,密钥文件,以及用于存储未签名的安卓程序安装包文件apktool.jar文件;其中,签名程序安装包生成模块包括解压子单元、修改子单元以及密钥添加子单元;解压子单元用于调用安装包文件apktool.jar文件进行解压并且将解压后的文件保存于第一存储单元;修改子单元用于调用渠道号标识符文件并读取渠道号标识符对解压后的apktool.jar文件中的配置文件AndroidManifest文件的渠道号进行修改从而生成该渠道号对应的应用商店的安装包;密钥添加子单元对上述修改渠道号后的安装包重新打包并添加密钥文件生成最终的应用商店的安装包发送于第二存储单元;其中界面运行单元用于提供进入脚本命令的界面接口,接收启动调用脚本运行模块的命令,由此驱动整个系统完成安装包的快速批量生成。如图6所示,展示了本发明的生成过程与现有的区别,在图6的左边,要经过好几个阶段的APK过程,使得生成时间显著增长,而在本系统中,第一存储单元中一直存放有安装包文件apktool.jar文件解压后的副本,不断调用其生成针对各个应用商店发布的安装包,存储于第二存储单元中,从而生成批量的安装程序包。其中界面指令单元可以为windows系统下的带CMD的命令行运行界面。本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1