[发明专利]应用程序包构成的拆分方法、装置、终端及介质在审
申请号: | 201811481866.3 | 申请日: | 2018-12-05 |
公开(公告)号: | CN109783138A | 公开(公告)日: | 2019-05-21 |
发明(设计)人: | 田胜军;蒋靖博 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F8/72 | 分类号: | G06F8/72 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务模块 分类标识 应用程序包 重新打包 分拆 终端 量化数据 可存储 可执行 虚拟机 打包 字典 计算机 分析 | ||
本发明实施例提供了一种应用程序包构成的拆分方法、装置、终端和计算机可存储介质,所述方法包括:确定APP包中待分拆的多个业务模块;获取打包流程中生成的字典mapping文件;根据所述mapping文件确定所述多个业务模块中每个业务模块的分类标识;根据每个业务模块的分类标识生成对应的安卓虚拟机可执行Dex文件;对生成的所有Dex文件进行重新打包,得到已拆分Dex文件的APP包。本发明实施例中,可以根据需要将APP包中Dex按各个业务模块的分类标识进行分拆,按需生成最终的Dex文件,并对Dex文件进行重新打包,得到已拆分Dex文件的APP包,对后续的分析和推动相关业务精简代码,提供有力的量化数据。
技术领域
本发明涉及计算机技术领域,特别是涉及一种应用程序包构成的拆分方法、装置、终端及计算机可读存储介质。
背景技术
众所周知,安卓(Android)系统上的应用程序(APP,Application)是以一种安卓安装包(APK,AndroidPackage)文件形式分发和被安装的,随着APP业务的迭代,APP包(即APK文件)的体积会累积膨胀,使得应用商店分发APP包的转化效率降低。针对这种体积膨胀,现有技术中,仅能分析出APP包中资源和源代码(Dex)的体积占比,并不能计算出源代码(Dex)中各业务代码的构成占比,也就无法长期监控每个业务的体积增长,无法对源代码部分的精准量化,不利于后续精简APP包(APK文件)的体积。同时,用户安装体积较大的APP包后在其移动终端(比如手机等)上占用的存储空间也会越来越大,从而降低了用户的使用性能。
因此,如何确定APP包(APK文件)中各业务代码的构成进行量化,是目前有待解决的技术问题。
发明内容
本发明实施例所要解决的技术问题是提供一种应用程序包构成的拆分方法,以解决现有技术中由于无法确定APP包中各业务代码的构成占比,不能对APP包(APK文件)的构成进行量化,导致用户使用性能差的技术问题。
相应的,本发明实施例还提供了一种应用程序包构成的拆分装置、终端及计算机可读存储介质,用以保证上述方法的实现及应用。
为了解决上述问题,本发明是通过如下技术方案实现的:
第一方面提供一种应用程序包的拆分方法,包括:
确定应用程序APP包中待分拆的多个业务模块;
获取打包流程中生成的字典mapping文件;
根据所述mapping文件确定所述多个业务模块中每个业务模块的分类标识;
根据所述每个业务模块的分类标识生成对应的安卓虚拟机可执行Dex文件;
对生成的所有Dex文件进行重新打包,得到已拆分Dex文件的APP包。
可选的,所述mapping文件包括:全部的源代码文件与字节码文件的对应关系,所述根据所述mapping文件确定所述多个业务模块中每个业务模块的分类标识,包括:
从所述mapping文件中获取所述多个业务模块中每个业务模块的源代码文件;
根据每个业务模块的源代码文件获取对应的字节码文件;
对所述多个业务模块中每个业务模块对应的字节码文件的起点标签和结束点标签进行标记,得到对应业务模块的分类标识。
可选的,在生成对应的Dex文件之前,所述方法还包括:
对安卓编译源码的Dex处理部分的源码进行修改,增加解析副Dex列表标签的代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811481866.3/2.html,转载请声明来源钻瓜专利网。