预发布自动化系统、方法、智能设备及存储介质与流程

文档序号:32301785发布日期:2022-11-23 08:36阅读:71来源:国知局
预发布自动化系统、方法、智能设备及存储介质与流程

1.本发明涉及安卓应用软件技术领域,尤其涉及一种预发布自动化系统、方法、智能设备及计算机可读存储介质。


背景技术:

2.目前,安卓应用软件的研发生命周期,主要涉及:需求调研,评审,开发,测试,验收和发布等过程。在安卓应用软件的功能被开发出来之后到发布前的这段时间,往往需要人工经过一系列的反复测试,验证,修复等工序。这些过程严重地依赖于开发人员参与。这是因为在传统流程里,安卓应用打包,需要依靠人工使用安卓集成开发工具android studio(由谷歌公司开发)对资源、类文件等进行编译、混淆、dex转换、压缩生成apk(android application package,安卓应用程序包)、签名、对齐等一系列操作生成标准化的apk,此过程需要开发人员的高度参与,最终导致需要大量的人力成本。


技术实现要素:

3.本发明的主要目的在于提供一种预发布自动化系统、方法、智能设备及计算机可读存储介质,旨在解决现有的安卓应用软件发布前需要的人力成本较高的技术问题。
4.为实现上述目的,本发明提供一种预发布自动化系统,所述预发布自动化系统包括:启动批处理脚本模块、链接批处理脚本模块、打包与预发布核心程序、持续集成系统、预设的加固系统、预设的预发布系统以及安卓软件开发工具包;
5.所述启动批处理脚本模块,用于在所述持续集成系统接收到启动打包任务时,启动所述打包与预发布核心程序;
6.所述打包与预发布核心程序用于通过所述链接批处理脚本模块启动所述安卓软件开发工具包,以通过所述安卓软件开发工具包编译和打包安卓项目源码得到安卓应用程序安装文件;以及用于启动所述加固系统并将所述安卓应用程序安装文件发送至所述加固系统,以对所述安卓应用程序安装文件进行加固,得到加固后的过程输出文件,并对过程输出文件进行二次签名,得到二次签名后的待发布安卓应用程序软件,并将所述待发布安卓应用程序软件保存至预设的预发布上传目录。
7.可选地,所述打包与预发布核心程序包括:
8.程序启动模块,用于在所述持续集成系统启动打包任务时,启动所述打包与预发布核心程序中的环境合法性鉴权模块;
9.所述环境合法性鉴权模块,用于对当前打包环境进行合法性检测;
10.监控与日志输出模块,用于监控和过滤windows命令行的底层输出以确定所述打包与预发布核心程序的运行状态
11.加固发送和二次签名处理模块,用于调用所述加固系统对所述安卓应用程序安装文件进行加固和对加固后的过程输出文件进行二次签名以得到待发布安卓应用程序软件,并将所述待发布安卓应用程序软件保存至预设的预发布上传目录。
12.此外,为实现上述目的,本发明还提供一种预发布自动化方法,所述预发布自动化方法应用于所述预发布自动化系统,所述预发布自动化方法包括以下步骤:
13.启动打包任务时,对当前打包环境进行合法性检测;
14.若所述当前打包环境合法,通过安卓软件开发工具包对所述打包任务对应的安卓项目源码进行编译和打包以得到安卓应用程序安装文件;
15.通过预设的加固系统对所述安卓应用程序安装文件进行加固,并通过打包与预发布核心程序对加固后的过程输出文件进行二次签名以得到待发布安卓应用程序软件;
16.将所述待发布安卓应用程序软件保存至预设的预发布上传目录。
17.可选地,所述将所述待发布安卓应用程序软件保存至预设的预发布上传目录的步骤之后,所述方法还包括:
18.通过所述打包与预发布核心程序解析所述待发布安卓应用程序软件,以获取所述待发布安卓应用程序软件的包括安装包名称、版本、加固特性在内的软件信息;
19.将所述软件信息和所述待发布安卓应用程序软件保存至所述预发布自动化系统中的预发布系统,其中,所述预发布系统用于分发所述待发布安卓应用程序软件。
20.可选地,所述启动打包任务时,对当前打包环境进行合法性检测的步骤,包括:
21.通过持续集成系统启动打包任务时,并触发预设的启动批处理脚本以启动所述打包与预发布核心程序;
22.通过所述打包与预发布核心程序对当前打包环境进行合法性检测。
23.可选地,所述通过所述打包与预发布核心程序对当前打包环境进行合法性检测的步骤,包括:
24.通过所述打包与预发布核心程序检测当前打包环境是否为授权环境、所述当前打包环境的使用期限是否过期、当前打包环境配置是否完整以及当前打包程序配置是否完整;
25.若当前打包环境为授权环境、所述当前打包环境的使用期限未过期、当前打包环境配置完整以及当前打包程序配置完整,则确定所述当前打包环境合法。
26.可选地,所述方法,还包括:
27.监控和过滤windows命令行的底层输出,以确定所述打包与预发布核心程序的运行状态,所述运行状态表征所述安卓项目源码的处理状态;
28.将所述运行状态发送至所述持续集成系统中的可视化界面以显示所述运行状态。
29.可选地,所述若所述当前打包环境合法,通过安卓软件开发工具包对所述打包任务对应的安卓项目源码进行编译和打包以得到安卓应用程序安装文件的步骤,包括:
30.若所述当前打包环境合法,则解析所述打包与预发布核心程序中的配置参数;
31.解析所述配置参数,触发配置参数中的打包配置命令以使所述打包与预发布核心程序通过预设的链接批处理脚本启动安卓软件开发工具包,以通过所述安卓软件开发工具包对所述打包任务对应的安卓项目源码进行编译和打包以得到安卓应用程序安装文件。
32.此外,为实现上述目的,本发明还提供一种智能设备,包括处理器、存储器、以及存储在所述存储器上的可被所述处理器执行的预发布自动化程序,其中,所述预发布自动化程序被所述处理器执行时,实现如上所述的预发布自动化方法的步骤。
33.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有预发
布自动化程序,其中,所述预发布自动化程序被处理器执行时,实现如上所述的预发布自动化方法的步骤。
34.本发明技术方案中的预发布自动化系统,包括:启动批处理脚本模块、链接批处理脚本模块、打包与预发布核心程序、持续集成系统、预设的加固系统、预设的预发布系统以及安卓软件开发工具包;所述启动批处理脚本模块,用于在所述持续集成系统接收到启动打包任务时,启动所述打包与预发布核心程序;所述打包与预发布核心程序用于通过所述链接批处理脚本模块启动所述安卓软件开发工具包,以通过所述安卓软件开发工具包编译和打包安卓项目源码得到安卓应用程序安装文件;以及用于启动所述加固系统并将所述安卓应用程序安装文件发送至所述加固系统,以对所述安卓应用程序安装文件进行加固,得到加固后的过程输出文件,并对过程输出文件进行二次签名,得到二次签名后的待发布安卓应用程序软件,并将所述待发布安卓应用程序软件保存至预设的预发布上传目录。本发明在正式的安卓应用软件发布之前,通过上述预发布自动化系统对安卓应用软件进行自动打包和预发布,大大减少了在研发生命周期过程中,对开发人员的依赖,减少开发和测试人力交叠带来的人力浪费,大大提高开发,测试人员在往复验证和问题修复之间的流转效率,同时也不需要在安卓应用软件打包的过程中进行各种人为配置打包流程,大大降低过渡的人为干预带来的人为配置失误,减少系统风险的发生,本发明具有通用性强、简单易用,且更加高效的有益效果。并且本发明通过对已打包安卓软件进行自动加固和自动签名的方式,能够避免安卓应用软件经常出现的反编译修改、代码注入和手机越狱等带来的风险,提高了即将发布的安卓应用软件的安全性,保障了开发者和安卓手机用户的权益。
附图说明
35.图1为本发明实施例方案涉及的智能设备的硬件运行环境的终端结构示意图;
36.图2为本发明预发布自动化方法第一实施例的流程示意图;
37.图3为本发明预发布自动化方法第一实施例步骤s10的细化流程示意图;
38.图4为本发明预发布自动化方法第二实施例的流程示意图;
39.图5为本发明预发布自动化系统的框架结构示意图;
40.图6为本发明预发布自动化方法涉及的一应用场景整体流程示意图;
41.图7为本发明预发布自动化方法涉及的另一应用场景整体流程示意图。
42.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
43.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
44.本发明技术方案总述:
45.考虑到现有的安卓软件在测试人员和产品人员完成功能和质量初步验收后,为了满足上线正式使用的需要,仍需进行最终的标准apk打包。但由于安卓的开源特性、手机厂商多元化,以及商业运营需要,导致安卓标准化包无法满足上线需求,仍需要重新解包,签名并独立生成各种渠道包,但在这些过程中,都需要人为进行操作,这样就带来了操作上不便,以及容易出现由于人为失误导致的系统风险。
46.依托于本发明中的预发布自动化系统提供的预发布环境,这里的预发布环境包括
了:windows系统、持续集成系统jenkins、android sdk(安卓软件开发工具包)、jdk(java development kit,java开发工具包),加固系统、发布系统。并通过自研的自动化工具(打包与预发布核心程序)与上述的预发布环境中的各个系统工具建立起通信连接,并通过打包与预发布核心程序按照打包流程依次调用上述各个系统工具实现对安卓应用软件进行打包和预发布,从而在安卓应用软件发布之前,不需要人工进行各种打包操作,大大节约了在安卓应用软件的开发过程中的人力成本,也极大地提高了安卓应用软件的开发效率,具有广阔的应用前景。
47.本发明实施例提出一种智能设备。智能设备可以是计算机、手机、平板电脑等任意类型的智能设备,在此不做限制。
48.如图1所示,图1是本发明实施例方案涉及的智能设备的硬件运行环境的结构示意图。
49.如图1所示,该智能设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示器(display)、输入单元比如控制面板,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wifi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。作为一种计算机存储介质的存储器1005中可以包括预发布自动化程序。
50.本领域技术人员可以理解,图1中示出的硬件结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
51.继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、用户接口模块、网络通信模块以及预发布自动化程序。
52.在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的预发布自动化程序,并执行以下各个实施例中的步骤。
53.基于上述控制器的硬件结构,提出本发明预发布自动化方法的各个实施例。
54.本发明实施例提供一种预发布自动化方法。
55.请参照图2,图2为本发明预发布自动化方法第一实施例的流程示意图;在本发明第一实施例中,预发布自动化方法包括以下步骤:
56.步骤s10,启动打包任务时,对当前打包环境进行合法性检测;
57.在本实施例中,请参照图5,所述预发布自动化方法应用于预设的预发布自动化系统,所述预发布自动化系统包括打包与预发布核心程序、jenkins(持续集成系统)、android sdk(安卓软件开发工具包)、java开发工具包、加固系统以及发布系统,其中的安卓软件开发工具包、java开发工具包为运行在windows系统的版本,具体地,运行在windows个人电脑系统(windows xp、windows 7、windows 10、windows 11等)的版本。其中的打包与预发布核心程序作为jenkins(持续集成系统)、android sdk(安卓软件开发工具包)、java开发工具包、加固系统以及发布系统之间信息交互的桥梁与jenkins(持续集成系统)、android sdk(安卓软件开发工具包)、java开发工具包、加固系统以及发布系统进行通信连接,进而进行数据交换和流程转化。
58.在本实施例中,持续集成系统作为各个安卓应用软件打包和发布项目的入口,接
收用户输入的或者其他设备或系统输入的关于安卓项目的打包任务,从而进一步通过预设的打包与预发布核心程序对安卓应用软件所对应的预发布自动化系统的当前运行环境进行合法检测,从而确保待打包安卓软件能够顺利打包成功并最终将打包完成的安卓软件(待发布安卓应用程序软件)根据用户的实际需要进行分发。
59.可选地,参照图3,在一实施例中,所述步骤s10,包括:
60.步骤s11,通过持续集成系统启动打包任务时,并触发预设的启动批处理脚本以启动所述打包与预发布核心程序;
61.步骤s12,通过所述打包与预发布核心程序对当前打包环境进行合法性检测。
62.这里的持续集成系统是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控和管理项目迭代过程中的持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。在持续集成系统接收到关于一个或多个待打包安卓软件的项目时,通过触发预发布自动化系统中的启动批处理脚本来开启打包与预发布核心程序,这里的启动批处理脚本的作用就是用来将持续集成系统与打包与预发布核心程序建立起通信连接,即可以通过如启动批处理脚本等命令,使两者能够进行信息交互和信息响应。再具体地,该启动批处理脚本用于在持续集成系统(jenkins)中进行配置,以及连接jenkins和打包与预发布核心程序,作为打包与预发布核心程序的启动入口与jenkins建立起交互桥梁,以及用于各种系统工具的配置开关。
63.对于打包与预发布核心程序包括程序启动模块,该程序启动模块用于接收上述启动批处理脚本传达过来的启动指令并解析得到对应的命令参数,将命令参数传送至打包与预发布核心程序中的系统指令处理模块,确定该命令参数对应的操作类型,放入指令等待区,并触发系统初始化操作,等待打包与预发布核心程序初始化完成后,开启打包环境的合法性鉴权,对预发布自动化系统所处的当前打包环境进行合法性检测,确保预发布自动化系统在当前的打包环境下可以实现对安卓应用软件的打包和打包后的保存。
64.可选地,在另一实施例中,所述步骤s12,包括:
65.步骤a,通过所述打包与预发布核心程序检测当前打包环境是否为授权环境、所述当前打包环境的使用期限是否过期、当前打包环境配置是否完整以及当前打包程序配置是否完整;
66.步骤b,若当前打包环境为授权环境、所述当前打包环境的使用期限未过期、当前打包环境配置完整以及当前打包程序配置完整,则确定所述当前打包环境合法。
67.在等到程序启动模块的初始化指令完成后,通过打包与预发布核心程序中的环境合法性鉴权模块检测在windows系统下该windows系统对应的计算机设备是否经过了预发布程序的加密授权,以及该加密授权是否超过允许使用的授权期限,如果两者都满足,还可以同时检测当前打包环境配置是否完整以及当前打包程序配置是否完整,即当前预发布自动化系统运行所需的环境是否合法,如果预发布自动化系统包括了上述提到的各个系统工具,那么就认为环境合法,此时就可以确定当前打包环境为合法状态。
68.此外,若当前打包环境不为授权环境以及所述当前打包环境的使用期限已过期,则确定所述当前打包环境不合法,停止对所述待打包安卓软件进行打包并发出相应的警示信息。
69.通过该实施例对打包环境的合法性鉴权,在对安卓软件项目进行打包之前确定当
前打包环境是否允许进行打包,能够在不允许打包的情况下不进行打包,避免无用功,进而从减少出错的角度上提高了安卓应用软件的打包效率,同时也保障了打包与预发布核心程序开发者的权益。
70.步骤s20,若所述当前打包环境合法,通过安卓软件开发工具包对所述打包任务对应的安卓项目源码进行编译和打包以得到安卓应用程序安装文件;
71.具体地,所述步骤s20,包括:
72.步骤c,若所述当前打包环境合法,则解析所述打包与预发布核心程序中的配置参数;
73.步骤d,解析所述配置参数,触发配置参数中的打包配置命令以使所述打包与预发布核心程序通过预设的链接批处理脚本启动所述安卓软件开发工具包,以通过所述安卓软件开发工具包对所述打包任务对应的安卓项目源码进行编译和打包以得到安卓应用程序安装文件。
74.如果当前打包环境合法,那么打包与预发布核心程序就会调用预发布自动化系统中的链接批处理脚本将指令发送到安卓软件开发工具包,进而启动预发布自动化系统中的安卓软件开发工具包,通过安卓软件开发工具包对该项目源码依次进行编译、混淆、转换、压缩、打包和对齐并生成标准化的安卓应用程序安装文件。
75.再具体地,如果当前打包环境合法,就通过预发布程序中的配置解析模块开始进行该预发布程序的配置脚本的读取和解析。将配置脚本读取到计算机等智能设备的内存中进行解析和处理,然后存储在预发布程序的环境配置管理模块中,为程序控制总线提供配置流程的基础化配置,从而使得打包与预发布核心程序能够执行各种命令,在当前打包环境判定为合法,在收到合法性鉴权处理结束的命令后解析打包与预发布核心程序中配置脚本的配置参数,触发打包配置命令从而打包与预发布核心程序调用预发布自动化系统中预设的链接批处理脚本将启动所述安卓软件开发工具包。并使得安卓软件开发工具包对安卓项目源码进行编译和打包等一系列操作得到安卓应用程序安装文件。
76.步骤s30,通过预设的加固系统对所述安卓应用程序安装文件进行加固,并通过打包与预发布核心程序对加固后的过程输出文件进行二次签名以得到待发布安卓应用程序软件;
77.步骤s40,将所述待发安卓应用程序软件保存至预设的预发布上传目录。
78.这里的加固系统可以根据实际需要进行对应具体的加固系统。加固系统的输入端与安卓软件开发工具包的输出端进行通信连接。
79.在通过安卓软件开发工具包对安卓项目源码进行一系列打包操作之后,加固系统执行启动加固命令,将安卓软件开发工具包通过打包与预发布核心程序发送过来的安卓应用程序安装文件进行安全加固,并在安全加固完成后,启动二次签名指令,对加固后的过程输出文件进行二次签名,最终完成待发布安卓应用程序软件,即最终的上线版本。之后将待发布安卓软件发送至预发布上传目录,等待安装包解析和上传到预发布系统等待分配给各大应用市场和平台。需要说明的是,之所以是对加固后的安卓软件安装包进行二次签名,是因为加固系统在对已打包安卓软件进行拆解,此时会丢失原来已打包安卓软件的签名,所以需要在加固的过程中再次对安卓软件的安装包进行签名。
80.通过本实施例中的加固系统能够大幅提升用于正式使用的待发布安卓软件的安
全性,防止不法分子对安卓应用软件进行反编译修改、代码注入和手机越狱等侵害行为,保护了开发者的著作权等商业利益以及安卓手机用户的权益。
81.本发明技术方案中的预发布自动化系统,包括:启动批处理脚本模块、链接批处理脚本模块、打包与预发布核心程序、持续集成系统、预设的加固系统、预设的预发布系统以及安卓软件开发工具包;所述启动批处理脚本模块,用于在所述持续集成系统接收到启动打包任务时,启动所述打包与预发布核心程序;所述打包与预发布核心程序用于通过所述链接批处理脚本模块启动所述安卓软件开发工具包,以通过所述安卓软件开发工具包编译和打包安卓项目源码得到安卓应用程序安装文件;以及用于启动所述加固系统并将所述安卓应用程序安装文件发送至所述加固系统,以对所述安卓应用程序安装文件进行加固,得到加固后的过程输出文件,并对过程输出文件进行二次签名,得到二次签名后的待发布安卓应用程序软件,并将所述待发布安卓应用程序软件保存至预设的预发布上传目录。本发明在正式的安卓应用软件发布之前,通过上述预发布自动化系统对安卓应用软件进行自动打包和预发布,大大减少了在研发生命周期过程中,对开发人员的依赖,减少开发和测试人力交叠带来的人力浪费,大大提高开发,测试人员在往复验证和问题修复之间的流转效率,同时也不需要在安卓应用软件打包的过程中进行各种人为配置打包流程,大大降低过渡的人为干预带来的人为配置失误,减少系统风险的发生,本发明具有通用性强、简单易用,且更加高效的有益效果。并且本发明通过对已打包安卓软件进行自动加固和自动签名的方式,能够避免安卓应用软件经常出现的反编译修改、代码注入和手机越狱等风险,提高了即将发布的安卓应用软件的安全性,保障了开发者和安卓手机用户的权益。
82.请参照图4,图4为本发明预发布自动化方法第二实施例的流程示意图。进一步地,基于本发明预发布自动化方法的上述实施例提出本发明预发布自动化方法的第二实施例。
83.在本实施例中,所述s40之后,所述预发布自动化方法还包括:
84.步骤s50,通过所述打包与预发布核心程序解析所述待发布安卓应用程序软件,以获取所述待发布安卓应用程序软件的包括安装包名称、版本、加固特性在内的软件信息;
85.步骤s60,将所述软件信息和所述待发布安卓应用程序软件保存至所述预发布自动化系统中的预发布系统,其中,所述预发布系统用于分发所述待发布安卓应用程序软件。
86.通过所述打包与预发布核心程序中的安装包解析和分发上传模块在收到预发布的预备指令完成后(即将要对正式版本的安卓安装包进行发布),开始针对待发布安卓应用程序软件的安装包进行解析,解析获取该安装包的包名、版本、加固特性等信息。然后执行上传指令,在打包与预发布核心程序中的配置解析模块中对应取得上传命令参数和上传配置,将获取的待发布安卓软件一并上传保存到预发布系统。
87.至此完成整套预发布流程,可以得到各种上线渠道包与分发渠道链接。用户、产品人员、测试人员等通过不同的分发链接,从预发布系统的分发链接按需取得对应的最终包。
88.通过上述的步骤方法,这样一来,各种主体能够清楚方便地获知各种待发布安卓软件的软件信息,从而高效确定并获取各个主体自己所需的安装包,从而也提高了安卓应用软件正式发布时的效率。
89.在另一实施例中,所述预发布自动化方法,还包括:
90.监控和过滤windows命令行的底层输出,以确定所述打包与预发布核心程序的运行状态,所述运行状态表征所述安卓项目源码的处理状态;
91.将所述运行状态发送至所述持续集成系统中的可视化界面以显示所述运行状态。
92.通过预发布程序可以监控windows命令行的底层输出,这里的windows命令行就是windows cmd,在监控windows命令行的底层输出的同时确定所述底层输出中的关于预发布自动化系统的目标输出,从而对所述底层输出进行过滤,只保留预发布自动化系统的目标输出,从而就能够确定预发布程序以及预发布自动化系统中的其他系统工具的运行状态,特别是对于打包与预发布核心程序的运行状态,能够体现出安卓项目源码的编译和打包、加固的具体进程,将打包与预发布核心程序的运行状态和项目源码的编译、打包过程信息、加固的具体运行数据发送到持续集成系统中的可视化界面以显示所述运行状态,从而便于相关开发人员对安卓应用软件项目的打包、预发布流程进行实时地监控,以防止意外情形的发生,提高了安卓应用软件项目的打包、预发布流程的可靠性和稳定性。
93.请参照图5,图5为本发明预发布自动化系统的框架结构示意图。本发明实施例提供一种预发布自动化系统。
94.所述预发布自动化系统包括:启动批处理脚本模块、链接批处理脚本模块、打包与预发布核心程序、持续集成系统、预设的加固系统、预设的预发布系统以及安卓软件开发工具包;
95.所述启动批处理脚本模块,用于在所述持续集成系统接收到启动打包任务时,启动所述打包与预发布核心程序;
96.所述打包与预发布核心程序用于通过所述链接批处理脚本模块启动所述安卓软件开发工具包,以通过所述安卓软件开发工具包编译和打包安卓项目源码得到安卓应用程序安装文件;以及用于启动所述加固系统并将所述安卓应用程序安装文件发送至所述加固系统,以对所述安卓应用程序安装文件进行加固,得到加固后的过程输出文件,并对过程输出文件进行二次签名,得到二次签名后的待发布安卓应用程序软件,并将所述待发布安卓应用程序软件保存至预设的预发布上传目录。
97.可选地,所述打包与预发布核心程序包括:
98.程序启动模块,用于在所述持续集成系统启动打包任务时,启动所述打包与预发布核心程序中的环境合法性鉴权模块;
99.所述环境合法性鉴权模块,用于对当前打包环境进行合法性检测;
100.监控与日志输出模块,用于监控和过滤windows命令行的底层输出以确定所述打包与预发布核心程序的运行状态
101.加固发送和二次签名处理模块,用于调用所述加固系统对所述安卓应用程序安装文件进行加固和对加固后的过程输出文件进行二次签名以得到待发布安卓应用程序软件,并将所述待发布安卓应用程序软件保存至预设的预发布上传目录。
102.本发明的预发布自动化系统的具体实施方式与上述预发布自动化方法各实施例基本相同,在此不再赘述。
103.为了进一步理解本发明的上述各个实施例,请参照图6和图7。
104.图6为本发明预发布自动化方法涉及的一应用场景整体流程示意图。
105.如图6所示,按照流程顺序本发明可以描述为:
106.通过jenkins新建安卓软件项目(流程100),并通过配置启动脚本(启动批处理脚本)启动打包与预发布核心程序的软件主体(流程101),在预发布程序中的自动化打包与预
发布装置(模块)中读取和处理待打包安卓软件生成对应的软件配置(流程201),进而执行连接批处理脚本进行链接启动android sdk(流程202和流程300),经过android sdk编译等操作生成标准apk(安卓应用程序安装文件,流程301),对该标准apk通过加固系统进行加固处理(流程400),并应用二次签名(流程203),最后启动预发布上传指令将待发布安卓应用程序软件发送保存至预发布系统(流程204和500)。此外,在预发布程序的监控与日志输出模块对预发布程序的运行状态进行监控(流程205)。
107.图7为本发明预发布自动化方法涉及的另一应用场景整体流程示意图。
108.如图7所示,按照流程顺序本发明可以描述为:
109.启动自动化装置(预发布自动化系统),初始化环境配置使得环境配置符合对安卓软件打包、预发布的条件,也即具有上述自动化系统包括的所有系统工具。在确定初始化完成之后,通过预发布程序检测环境合法性,当前打包环境合法时,解析预发布程序的配置化参数,如果解析失败,就退出打包流程,如果顺利解析,就处理打包配置命令,从而启动链接批处理脚本,进而通过链接批处理脚本开启安卓软件开发工具包,通过安卓软件开发工具包进行根据不同的分发渠道打包生成各种用途的安卓软件的安装包,包括了测试包、仿真包、加固包以及生产包,进行编译生成标准的apk,通过加固系统检测输出到加固系统中的安卓安装包并加固该安装包并进行二次签名得到了待发布安卓应用程序软件,进行预发布上传到预发布系统进行保存。
110.此外,本发明还提供一种计算机可读存储介质。本发明计算机可读存储介质上存储有预发布自动化程序,其中,预发布自动化程序被处理器执行时,实现如上述的预发布自动化方法的步骤。
111.其中,预发布自动化程序被执行时所实现的方法可参照本发明预发布自动化方法的各个实施例,此处不再赘述。
112.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
113.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
114.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
115.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
116.应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
117.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
118.以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1