一种安卓应用程序打包方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36760804 阅读:16 留言:0更新日期:2023-03-04 10:55
本申请公开了一种安卓应用程序打包方法、装置、电子设备及存储介质。该方法响应于接收的打包指令,对待打包项目进行配置;根据git分支的数量生成对应数量的队列,并在各个队列配置产生的配置文件;遍历所有队列,在每个队列中开异步线程执行拉代码和更改配置的文件操作,并写入全局channel中;最后遍历所有channel,通过gradle同步构建待打包项目,以实现所述待打包项目的安卓应用程序包打包。本发明专利技术可以通过对安卓安装包进行批量打包,减少人为的干涉,减少出包时bug率,保证线上的稳定。保证线上的稳定。保证线上的稳定。

【技术实现步骤摘要】
一种安卓应用程序打包方法、装置、电子设备及存储介质


[0001]本专利技术涉及数据处理领域,特别涉及一种安卓应用程序打包方法、装置、电子设备及存储介质。

技术介绍

[0002]目前安卓的应用市场百花齐放,在大部分的应用市场还需要特殊处理,例如需要更改启动图,更改不同的渠道,大约每半个月就要发布一个新的版本。
[0003]大多数现有公司会选择使用一个安卓的安装包上传到所有的市场,这样方便研发技术人员,然而这种打包方法没有办法区分渠道。
[0004]但是如果让开发去针对于各个渠道及版本进行针对打包,这种方法打包的效率较低,也会浪费人力去进行处理。

技术实现思路

[0005]基于此,本申请实施例提供了一种安卓应用程序打包方法、装置、电子设备及存储介质,可以通过对安卓安装包进行批量打包,减少人为的干涉,减少出包时bug率,保证线上的稳定。
[0006]第一方面,提供了一种安卓应用程序打包方法,该方法包括:
[0007]响应于接收的打包指令,对待打包项目进行配置;其中,包括配置待打包项目的git地址和git分支;
[0008]根据git分支的数量生成对应数量的队列,并在各个队列配置产生的配置文件;遍历所有队列,在每个队列中开异步线程执行拉代码和更改配置的文件操作,并写入全局channel中;
[0009]遍历所有channel,通过gradle同步构建待打包项目,以实现所述待打包项目的安卓应用程序包打包。
[0010]可选地,所述方法还包括进行脚本加固,其中:
[0011]将安装包中的内容展开,对加固生成的文件进行校验;
[0012]当校验通过时,将安装包中的内容放入新的channel,并读取当前channel中每个节点的中渠道的配置文件;
[0013]根据渠道的数量将渠道字段进行修改,然后使用keystore进行二次签名。
[0014]可选地,所述对加固生成的文件进行校验,至少包括:
[0015]将安装包中的内容展开,校验安装包文件的完整性;
[0016]读取安装包内容的中版本号与配置中的版本号对比,检查是否一致;
[0017]读取安装包内容的预设内容检查是否匹配。
[0018]可选地,所述方法还包括:
[0019]基于二次签名后的安装包生成上传任务,通过断点续传技术上传到服务端;
[0020]在上传任务完成时,给预设的用户进行反馈。
[0021]可选地,每个队列中开异步线程执行拉代码和更改配置的文件操作,还包括:
[0022]判断文件是否已经更新,当文件没有更新,则将本地的代码删除。
[0023]可选地,所述通过gradle同步构建待打包项目,包括:
[0024]检查打完的包是否存在并且是否以apk结尾,如果不存在则重新进行打包;
[0025]检查文件的大小是否大于预设阈值,如果不是则重新进行构建打包;
[0026]判断打包次数是否大于预设次数,如果大于预设次数则放弃打包,并且记录分支和打包情况。
[0027]可选地,在遍历所有channel,通过gradle同步构建待打包项目时,所述方法还包括:
[0028]通过看门狗实时监控当前机器的cpu使用率。
[0029]第二方面,提供了一种安卓应用程序打包装置,该装置包括:
[0030]配置模块,响应于接收的打包指令,对待打包项目进行配置;其中,包括配置待打包项目的git地址和git分支;
[0031]处理模块,用于根据git分支的数量生成对应数量的队列,并在各个队列配置产生的配置文件;遍历所有队列,在每个队列中开异步线程执行拉代码和更改配置的文件操作,并写入全局channel中;
[0032]打包模块,用于遍历所有channel,通过gradle同步构建待打包项目,以实现所述待打包项目的安卓应用程序包打包。
[0033]第三方面,提供了一种电子设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面任一所述的安卓应用程序打包方法。
[0034]第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任一所述的安卓应用程序打包方法。
[0035]本申请实施例提供的技术方案中,响应于接收的打包指令,对待打包项目进行配置;根据git分支的数量生成对应数量的队列,并在各个队列配置产生的配置文件;遍历所有队列,在每个队列中开异步线程执行拉代码和更改配置的文件操作,并写入全局channel中;最后遍历所有channel,通过gradle同步构建待打包项目,以实现所述待打包项目的安卓应用程序包打包。可以看出,本申请的有益效果至少包括:
[0036](1)充分利用多核CPU的特性,将打包时间缩短为原来的20%。
[0037](2)减少人员的操作,减少因为更改代码导致的bug。
[0038](3)一条命令运行打包,打包完成发邮件,减少开发人员的等待时间。
[0039](4)先加固,后改资源,再次签名策略,避免渠道丢掉的问题。
附图说明
[0040]为了更清楚地说明本专利技术的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
[0041]图1为本申请实施例提供的一种安卓应用程序打包方法的步骤流程图;
[0042]图2为本申请实施例提供的一种构建过程流程示意图;
[0043]图3为本申请可选的实施例提供的安卓应用程序打包方法的流程图;
[0044]图4为本申请实施例提供的一种安卓应用程序打包装置的框图;
[0045]图5为本申请实施例提供的一种电子设备的示意图。
具体实施方式
[0046]以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0047]为便于对本实施例进行理解,首先对本申请实施例所公开的一种安卓应用程序打包方法进行详细介绍。
[0048]请参考图1,其示出了本申请实施例提供的一种安卓应用程序打包方法的流程图,该方法可以包括以下步骤:
[0049]步骤101,响应于接收的打包指令,对待打包项目进行配置。
[0050]其中,包括配置待打包项目的git地址和git分支。
[0051]在本步骤中,首先配置打包的配置文件,具体包括:
[0052]①
项目的git地址和相关的分支。
[0053]②<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种安卓应用程序打包方法,其特征在于,所述方法包括:响应于接收的打包指令,对待打包项目进行配置;其中,包括配置待打包项目的git地址和git分支;根据git分支的数量生成对应数量的队列,并在各个队列配置产生的配置文件;遍历所有队列,在每个队列中开异步线程执行拉代码和更改配置的文件操作,并写入全局channel中;遍历所有channel,通过gradle同步构建待打包项目,以实现所述待打包项目的安卓应用程序包打包。2.根据权利要求1所述的方法,其特征在于,所述方法还包括进行脚本加固,其中:将安装包中的内容展开,对加固生成的文件进行校验;当校验通过时,将安装包中的内容放入新的channel,并读取当前channel中每个节点的中渠道的配置文件;根据渠道的数量将渠道字段进行修改,然后使用keystore进行二次签名。3.根据权利要求2所述的方法,其特征在于,所述对加固生成的文件进行校验,至少包括:将安装包中的内容展开,校验安装包文件的完整性;读取安装包内容的中版本号与配置中的版本号对比,检查是否一致;读取安装包内容的预设内容检查是否匹配。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:基于二次签名后的安装包生成上传任务,通过断点续传技术上传到服务端;在上传任务完成时,给预设的用户进行反馈。5.根据权利要求1所述的方法,其特征在于,每个队列中开异步线程执行拉代码和更改配置的文件操作,还包括:判断文件是否已经更新,当文件没有更新,则将本地的...

【专利技术属性】
技术研发人员:郭玉乐胡云彤谭泽宇李建博田金涛庄乾柱王玉张峻玮江舟马天海
申请(专利权)人:北京香哈网络股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1