【技术实现步骤摘要】
一种应用程序的打包方法和装置
本申请涉及数据处理
,特别是涉及一种应用程序的打包方法和装置。
技术介绍
随着应用程序的功能越来越多,应用程序也越来越大,而应用程序通常是打包之后进行发包以供用户下载安装。对某些大型应用程序而言,例如购物平台和视频平台,功能繁多,代码量非常大,如果不做代码精简优化而直接打包,会导致整个安装包非常大,同时大量的可执行代码也会影响应用程序的线上稳定性,因此对代码的精简、优化等打包是必须的。目前,应用程序打包通常是直接使用proguard工具直接对应用程序的代码一次性进行精简、优化和混淆后打包,在应用程序的代码量较大时,这种打包方法通常耗时较长,降低了应用程序的打包效率和应用程序的发布效率。
技术实现思路
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序的打包方法和装置。为了解决上述问题,本申请实施例公开了一种应用程序的打包方法,包括:获取待打包应用程序的源代码;确定所述源代码中代码所属的业务模块;获取所述业务模块之间的依赖关系;依据所述依赖关系,对所述业务模块的代码进行打包,得到所述业务模块的打包文件;采用所述业务模块的打包文件对所述应用程序进行打包。可选地,所述获取待打包应用程序的源代码的步骤包括:获取待打包的应用程序;对所述应用程序进行解压缩处理,得到所述应用程序的可执行文件;对所述可执行文件进行反编译,得到所述应用程序的源代码。可选地,所述获取所述业务模块之间的依赖关系的步骤包括:获取预先配置的业务模块依赖列表;依据所述业务模块依赖列表,生成业务模块依赖树,所述业务模块依赖树 ...
【技术保护点】
1.一种应用程序的打包方法,其特征在于,包括:获取待打包应用程序的源代码;确定所述源代码中代码所属的业务模块;获取所述业务模块之间的依赖关系;依据所述依赖关系,对所述业务模块的代码进行打包,得到所述业务模块的打包文件;采用所述业务模块的打包文件对所述应用程序进行打包。
【技术特征摘要】
1.一种应用程序的打包方法,其特征在于,包括:获取待打包应用程序的源代码;确定所述源代码中代码所属的业务模块;获取所述业务模块之间的依赖关系;依据所述依赖关系,对所述业务模块的代码进行打包,得到所述业务模块的打包文件;采用所述业务模块的打包文件对所述应用程序进行打包。2.如权利要求1所述的打包方法,其特征在于,所述获取待打包应用程序的源代码的步骤包括:获取待打包的应用程序;对所述应用程序进行解压缩处理,得到所述应用程序的可执行文件;对所述可执行文件进行反编译,得到所述应用程序的源代码。3.如权利要求1所述的打包方法,其特征在于,所述获取所述业务模块之间的依赖关系的步骤包括:获取预先配置的业务模块依赖列表;依据所述业务模块依赖列表,生成业务模块依赖树,所述业务模块依赖树的一个节点为一个业务模块;依据所述业务模块依赖树,为所述业务模块配置被依赖列表和依赖列表。4.如权利要求3所述的打包方法,其特征在于,所述依据所述依赖关系,对所述业务模块的代码进行打包,得到所述业务模块的打包文件的步骤包括:遍历所述业务模块依赖树;判断当前业务模块是否标识有已打包标识;若否,则将所述当前业务模块加入任务队列中;对所述任务队列中的业务模块的代码进行打包,得到业务模块的打包文件,并返回判断当前业务模块是否标识有已打包标识的步骤。5.如权利要求4所述的打包方法,其特征在于,在对所述任务队列中的业务模块的代码进行打包,得到业务模块的打包文件,并返回判断当前业务模块是否标识有已打包标识的步骤之后还包括:对打包之后的业务模块标识已打包标识。6.如权利要求4所述的打包方法,其特征在于,所述对所述任务队列中的业务模块进行打包,得到业务模块的打包文件的步骤包括:从所述任务列表中提取被依赖列表为空的第一业务模块;对所述第一业务模块的代码进行打包得到所述第一业务模块的打包文件;如果所述第一业务模块的依赖列表不为空,对所述第一业务模块的代码进行分析,得到所述第一业务模块的依赖配置文件;从所述任务列表中提取所述第一业务模块的依赖表中的第二业务模块;依据所述第一业务模块的依赖配置文件对所述第二业务模块的代码进行打包,得到所述第二业务模块的打包文件;如果所述第二业务模块的依赖列表不为空,对所述第二业务模块的代码进行分析,得到所述第二业务模块的依赖配置文件。7.如权利要求1所述的打包方法,其特征在于,所述打包包括对所述业务模块的代码进行裁剪、优化、混淆、压缩处理。8.一种应用程序的打包方法,其特征在于,包括:获取待打包应用程序的源代码;确定所述源代码中代码所属的业务模块;获取所述业务模块之间的依赖关系;依据所述依赖关系,采用打包处理集群对所述业务模块的代码进行打包,得到所述业务模块的打包文件;采用所述业务模块的打包文件对所述应用程序进行打包。9.如权利要求8所述的打包方法,其特征在于,还包括:将所述业务模块的打包文件保存至缓存中,所述缓存包括本地缓存和/或远程服务器缓存。10.如权利要求8所述的打包方法,其特征在于,所述获取所述业务模块之间的依赖关系的步骤包括:获取预先配置的业务模块依赖列表;依据所述业务模块依赖列表,生成业务模块依赖树,所述业务模块依赖树的一个节点为一个业务模块;依据所述业务模块依赖树,为所述业务模块配置被依赖列表和依赖列表。11.如权利要求10...
【专利技术属性】
技术研发人员:鲁嘉武,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。