[发明专利]一种应用程序的打包方法和装置在审
申请号: | 201810307543.6 | 申请日: | 2018-04-08 |
公开(公告)号: | CN110347398A | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | 鲁嘉武 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/53 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 赵娟 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务模块 应用程序 打包 源代码 依赖关系 方法和装置 打包处理 打包文件 多线程 耗时 申请 发布 分析 | ||
1.一种应用程序的打包方法,其特征在于,包括:
获取待打包应用程序的源代码;
确定所述源代码中代码所属的业务模块;
获取所述业务模块之间的依赖关系;
依据所述依赖关系,对所述业务模块的代码进行打包,得到所述业务模块的打包文件;
采用所述业务模块的打包文件对所述应用程序进行打包。
2.如权利要求1所述的打包方法,其特征在于,所述获取待打包应用程序的源代码的步骤包括:
获取待打包的应用程序;
对所述应用程序进行解压缩处理,得到所述应用程序的可执行文件;
对所述可执行文件进行反编译,得到所述应用程序的源代码。
3.如权利要求1所述的打包方法,其特征在于,所述获取所述业务模块之间的依赖关系的步骤包括:
获取预先配置的业务模块依赖列表;
依据所述业务模块依赖列表,生成业务模块依赖树,所述业务模块依赖树的一个节点为一个业务模块;
依据所述业务模块依赖树,为所述业务模块配置被依赖列表和依赖列表。
4.如权利要求3所述的打包方法,其特征在于,所述依据所述依赖关系,对所述业务模块的代码进行打包,得到所述业务模块的打包文件的步骤包括:
遍历所述业务模块依赖树;
判断当前业务模块是否标识有已打包标识;
若否,则将所述当前业务模块加入任务队列中;
对所述任务队列中的业务模块的代码进行打包,得到业务模块的打包文件,并返回判断当前业务模块是否标识有已打包标识的步骤。
5.如权利要求4所述的打包方法,其特征在于,在对所述任务队列中的业务模块的代码进行打包,得到业务模块的打包文件,并返回判断当前业务模块是否标识有已打包标识的步骤之后还包括:
对打包之后的业务模块标识已打包标识。
6.如权利要求4所述的打包方法,其特征在于,所述对所述任务队列中的业务模块进行打包,得到业务模块的打包文件的步骤包括:
从所述任务列表中提取被依赖列表为空的第一业务模块;
对所述第一业务模块的代码进行打包得到所述第一业务模块的打包文件;
如果所述第一业务模块的依赖列表不为空,对所述第一业务模块的代码进行分析,得到所述第一业务模块的依赖配置文件;
从所述任务列表中提取所述第一业务模块的依赖表中的第二业务模块;
依据所述第一业务模块的依赖配置文件对所述第二业务模块的代码进行打包,得到所述第二业务模块的打包文件;
如果所述第二业务模块的依赖列表不为空,对所述第二业务模块的代码进行分析,得到所述第二业务模块的依赖配置文件。
7.如权利要求1所述的打包方法,其特征在于,所述打包包括对所述业务模块的代码进行裁剪、优化、混淆、压缩处理。
8.一种应用程序的打包方法,其特征在于,包括:
获取待打包应用程序的源代码;
确定所述源代码中代码所属的业务模块;
获取所述业务模块之间的依赖关系;
依据所述依赖关系,采用打包处理集群对所述业务模块的代码进行打包,得到所述业务模块的打包文件;
采用所述业务模块的打包文件对所述应用程序进行打包。
9.如权利要求8所述的打包方法,其特征在于,还包括:
将所述业务模块的打包文件保存至缓存中,所述缓存包括本地缓存和/或远程服务器缓存。
10.如权利要求8所述的打包方法,其特征在于,所述获取所述业务模块之间的依赖关系的步骤包括:
获取预先配置的业务模块依赖列表;
依据所述业务模块依赖列表,生成业务模块依赖树,所述业务模块依赖树的一个节点为一个业务模块;
依据所述业务模块依赖树,为所述业务模块配置被依赖列表和依赖列表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810307543.6/1.html,转载请声明来源钻瓜专利网。