[发明专利]一种应用程序的打包方法和装置在审
申请号: | 201810307543.6 | 申请日: | 2018-04-08 |
公开(公告)号: | CN110347398A | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | 鲁嘉武 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/53 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 赵娟 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务模块 应用程序 打包 源代码 依赖关系 方法和装置 打包处理 打包文件 多线程 耗时 申请 发布 分析 | ||
本申请实施例提供了一种应用程序的打包方法和装置,所述应用程序的打包方法包括:获取待打包应用程序的源代码;确定所述源代码中代码所属的业务模块;获取所述业务模块之间的依赖关系;依据所述依赖关系,对所述业务模块的代码进行打包,得到所述业务模块的打包文件;采用所述业务模块的打包文件对所述应用程序进行打包。由于将源代码划分为不同的业务模块和分析各个业务模块之间的依赖关系,可以根据依赖关系,采用多线程对多个业务模块进行并发式打包处理,避免了对应用程序的源代码进行一次打包处理耗时长的问题,缩短了应用程序的打包时间,提高了应用程序的打包效率和发布效率。
技术领域
本申请涉及数据处理技术领域,特别是涉及一种应用程序的打包方法和装置。
背景技术
随着应用程序的功能越来越多,应用程序也越来越大,而应用程序通常是打包之后进行发包以供用户下载安装。
对某些大型应用程序而言,例如购物平台和视频平台,功能繁多,代码量非常大,如果不做代码精简优化而直接打包,会导致整个安装包非常大,同时大量的可执行代码也会影响应用程序的线上稳定性,因此对代码的精简、优化等打包是必须的。
目前,应用程序打包通常是直接使用proguard工具直接对应用程序的代码一次性进行精简、优化和混淆后打包,在应用程序的代码量较大时,这种打包方法通常耗时较长,降低了应用程序的打包效率和应用程序的发布效率。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序的打包方法和装置。
为了解决上述问题,本申请实施例公开了一种应用程序的打包方法,包括:
获取待打包应用程序的源代码;
确定所述源代码中代码所属的业务模块;
获取所述业务模块之间的依赖关系;
依据所述依赖关系,对所述业务模块的代码进行打包,得到所述业务模块的打包文件;
采用所述业务模块的打包文件对所述应用程序进行打包。
可选地,所述获取待打包应用程序的源代码的步骤包括:
获取待打包的应用程序;
对所述应用程序进行解压缩处理,得到所述应用程序的可执行文件;
对所述可执行文件进行反编译,得到所述应用程序的源代码。
可选地,所述获取所述业务模块之间的依赖关系的步骤包括:
获取预先配置的业务模块依赖列表;
依据所述业务模块依赖列表,生成业务模块依赖树,所述业务模块依赖树的一个节点为一个业务模块;
依据所述业务模块依赖树,为所述业务模块配置被依赖列表和依赖列表。
可选地,所述依据所述依赖关系,对所述业务模块的代码进行打包,得到所述业务模块的打包文件的步骤包括:
遍历所述业务模块依赖树;
判断当前业务模块是否标识有已打包标识;
若否,则将所述当前业务模块加入任务队列中;
对所述任务队列中的业务模块的代码进行打包,得到业务模块的打包文件,并返回判断当前业务模块是否标识有已打包标识的步骤。
可选地,在对所述任务队列中的业务模块的代码进行打包,得到业务模块的打包文件,并返回判断当前业务模块是否标识有已打包标识的步骤之后还包括:
对打包之后的业务模块标识已打包标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810307543.6/2.html,转载请声明来源钻瓜专利网。