应用裁剪方法、装置及存储介质制造方法及图纸

技术编号:18083530 阅读:34 留言:0更新日期:2018-05-31 12:09
本公开提供一种应用裁剪方法、装置及存储介质,所述方法包括:获取应用程序包和目标设备的硬件配置信息,所述应用程序包内包括与不同硬件配置信息对应的资源文件;根据所述硬件配置信息对所述应用程序包内的资源文件进行裁剪,以保留适合所述目标设备的资源文件,获得裁剪后的应用程序包,所述裁剪后的应用程序包用于存放至所述目标设备,剪裁后应用程序包中的资源文件少于剪裁前应用程序包内的资源文件。应用本公开实施例可以获得占用空间较小的应用程序包,进而在将裁剪后的应用程序包存放至目标设备时,可以减少系统分区磁盘占用,实现预留更多存储空间给用户。

【技术实现步骤摘要】
应用裁剪方法、装置及存储介质
本申请涉及移动互联网
,尤其涉及应用裁剪方法、装置及存储介质。
技术介绍
目前,Android系统上可以开发很多应用程序。应用程序包主要包括被编译的代码文件和资源文件。资源可以是与UI相关的信息,例如UI布局、字符串和图片等。为了能兼容不同硬件条件的电子设备,应用程序包内为不同硬件配置信息设置有不同的资源文件。例如,为了适应不同屏幕密度,可以配置有不同屏幕密度对应的可绘制对象资源;又如,为了适应不同CPU架构,可以配置有不同CPU架构对应的库文件。以便系统根据设备的硬件信息,选择最适合当前设备的资源文件。然而,随着应用的增多,每个应用里又包含多种不同的资源文件,而电子设备中存储空间有限,从而导致浪费系统磁盘空间。
技术实现思路
为克服相关技术中存在的问题,本公开提供了应用裁剪方法、装置及存储介质。根据本公开实施例的第一方面,提供一种应用裁剪方法,所述方法包括:获取应用程序包和目标设备的硬件配置信息,所述应用程序包内包括与不同硬件配置信息对应的资源文件;根据所述硬件配置信息对所述应用程序包内的资源文件进行裁剪,以保留适合所述目标设备的资源文件,获得裁剪后的应用程序包,所述裁剪后的应用程序包用于存放至所述目标设备,剪裁后应用程序包中的资源文件少于剪裁前应用程序包内的资源文件。在一个可选的实现方式中,所述硬件配置信息包括所述目标设备的屏幕密度,所述资源文件包括可绘制对象资源,不同屏幕密度对应不同版本的可绘制对象资源,不同版本的可绘制对象资源间资源的分辨率不同。在一个可选的实现方式中,所述根据所述硬件配置信息对所述应用程序包内的资源文件进行裁剪,以保留适合所述目标设备的资源文件,获得裁剪后的应用程序包,包括:在屏幕密度与可绘制对象资源的对应关系中,若存在与所述目标设备的屏幕密度对应的第一版本可绘制对象资源,删除除去第一版本可绘制对象资源以外的其他版本的可绘制对象资源;若不存在所述第一版本可绘制对象资源,从大于所述目标设备的屏幕密度的至少一个屏幕密度中,获取最低屏幕密度对应的第二版本可绘制对象资源,删除除去第二版本可绘制对象资源以外的其他版本的可绘制对象资源;若不存在所述第一版本可绘制对象资源和第二版本可绘制对象资源,从小于所述目标设备的屏幕密度的至少一个屏幕密度中,获取最高屏幕密度对应的第三版本可绘制对象资源,删除除去第三版本可绘制对象资源以外的其他版本的可绘制对象资源。在一个可选的实现方式中,所述硬件配置信息包括所述目标设备的CPU架构信息,所述资源文件包括库文件,不同CPU架构信息对应不同库文件;和/或,所述硬件配置信息包括所述目标设备的屏幕尺寸,所述资源文件包括布局资源,不同屏幕尺寸对应不同的布局资源。在一个可选的实现方式中,所述方法还包括:将所述剪裁后的应用程序包存放至所述目标设备中ROM包的系统分区镜像中。根据本公开实施例的第二方面,提供一种应用裁剪装置,所述装置包括:信息获取模块,被配置为获取应用程序包和目标设备的硬件配置信息,所述应用程序包内包括与不同硬件配置信息对应的资源文件;应用裁剪模块,被配置为根据所述硬件配置信息对所述应用程序包内的资源文件进行裁剪,以保留适合所述目标设备的资源文件,获得裁剪后的应用程序包,所述裁剪后的应用程序包用于存放至所述目标设备,剪裁后应用程序包中的资源文件少于剪裁前应用程序包内的资源文件。在一个可选的实现方式中,所述硬件配置信息包括所述目标设备的屏幕密度,所述资源文件包括可绘制对象资源,不同屏幕密度对应不同版本的可绘制对象资源,不同版本的可绘制对象资源间资源的分辨率不同。在一个可选的实现方式中,所述应用裁剪模块,具体被配置为:在屏幕密度与可绘制对象资源的对应关系中,若存在与所述目标设备的屏幕密度对应的第一版本可绘制对象资源,删除除去第一版本可绘制对象资源以外的其他版本的可绘制对象资源;若不存在所述第一版本可绘制对象资源,从大于所述目标设备的屏幕密度的至少一个屏幕密度中,获取最低屏幕密度对应的第二版本可绘制对象资源,删除除去第二版本可绘制对象资源以外的其他版本的可绘制对象资源;若不存在所述第一版本可绘制对象资源和第二版本可绘制对象资源,从小于所述目标设备的屏幕密度的至少一个屏幕密度中,获取最高屏幕密度对应的第三版本可绘制对象资源,删除除去第三版本可绘制对象资源以外的其他版本的可绘制对象资源。在一个可选的实现方式中,所述硬件配置信息包括所述目标设备的CPU架构信息,所述资源文件包括库文件,不同CPU架构信息对应不同库文件;和/或,所述硬件配置信息包括所述目标设备的屏幕尺寸,所述资源文件包括布局资源,不同屏幕尺寸对应不同的布局资源。在一个可选的实现方式中,所述装置还包括信息存放模块,被配置为:将所述剪裁后的应用程序包存放至所述目标设备中ROM包的系统分区镜像中。根据本公开实施例的第三方面,提供一种应用裁剪装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:获取应用程序包和目标设备的硬件配置信息,所述应用程序包内包括与不同硬件配置信息对应的资源文件;根据所述硬件配置信息对所述应用程序包内的资源文件进行裁剪,以保留适合所述目标设备的资源文件,获得裁剪后的应用程序包,所述裁剪后的应用程序包用于存放至所述目标设备,剪裁后应用程序包中的资源文件少于剪裁前应用程序包内的资源文件。根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。本公开的实施例提供的技术方案可以包括以下有益效果:本公开实施例读取目标设备的硬件信息,对应用程序包内的资源文件进行裁剪,删除不需要的资源文件,可以获得占用空间较小的应用程序包,进而在将裁剪后的应用程序包存放至目标设备时,可以减少系统分区磁盘占用,实现预留更多存储空间给用户,以便用户存储文件、照片等信息,提高用户体验。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1是本公开根据一示例性实施例示出的一种应用裁剪方法的流程图。图2是本公开根据一示例性实施例示出的另一种应用裁剪方法的流程图。图3是本公开根据一示例性实施例示出的一种应用裁剪装置的框图。图4是本公开根据一示例性实施例示出的另一种应用裁剪装置的框图。图5是根据一示例性实施例示出的一种用于应用裁剪的装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管本文档来自技高网...
应用裁剪方法、装置及存储介质

【技术保护点】
一种应用裁剪方法,其特征在于,所述方法包括:获取应用程序包和目标设备的硬件配置信息,所述应用程序包内包括与不同硬件配置信息对应的资源文件;根据所述硬件配置信息对所述应用程序包内的资源文件进行裁剪,以保留适合所述目标设备的资源文件,获得裁剪后的应用程序包,所述裁剪后的应用程序包用于存放至所述目标设备,剪裁后应用程序包中的资源文件少于剪裁前应用程序包内的资源文件。

【技术特征摘要】
1.一种应用裁剪方法,其特征在于,所述方法包括:获取应用程序包和目标设备的硬件配置信息,所述应用程序包内包括与不同硬件配置信息对应的资源文件;根据所述硬件配置信息对所述应用程序包内的资源文件进行裁剪,以保留适合所述目标设备的资源文件,获得裁剪后的应用程序包,所述裁剪后的应用程序包用于存放至所述目标设备,剪裁后应用程序包中的资源文件少于剪裁前应用程序包内的资源文件。2.根据权利要求1所述的方法,其特征在于,所述硬件配置信息包括所述目标设备的屏幕密度,所述资源文件包括可绘制对象资源,不同屏幕密度对应不同版本的可绘制对象资源,不同版本的可绘制对象资源间资源的分辨率不同。3.根据权利要求2所述的方法,其特征在于,所述根据所述硬件配置信息对所述应用程序包内的资源文件进行裁剪,以保留适合所述目标设备的资源文件,获得裁剪后的应用程序包,包括:在屏幕密度与可绘制对象资源的对应关系中,若存在与所述目标设备的屏幕密度对应的第一版本可绘制对象资源,删除除去第一版本可绘制对象资源以外的其他版本的可绘制对象资源;若不存在所述第一版本可绘制对象资源,从大于所述目标设备的屏幕密度的至少一个屏幕密度中,获取最低屏幕密度对应的第二版本可绘制对象资源,删除除去第二版本可绘制对象资源以外的其他版本的可绘制对象资源;若不存在所述第一版本可绘制对象资源和第二版本可绘制对象资源,从小于所述目标设备的屏幕密度的至少一个屏幕密度中,获取最高屏幕密度对应的第三版本可绘制对象资源,删除除去第三版本可绘制对象资源以外的其他版本的可绘制对象资源。4.根据权利要求1所述的方法,其特征在于,所述硬件配置信息包括所述目标设备的CPU架构信息,所述资源文件包括库文件,不同CPU架构信息对应不同库文件;和/或,所述硬件配置信息包括所述目标设备的屏幕尺寸,所述资源文件包括布局资源,不同屏幕尺寸对应不同的布局资源。5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:将所述剪裁后的应用程序包存放至所述目标设备中ROM包的系统分区镜像中。6.一种应用裁剪装置,其特征在于,所述装置包括:信息获取模块,被配置为获取应用程序包和目标设备的硬件配置信息,所述应用程序包内包括与不同硬件配置信息对应的资源文件;应用裁剪模块,被配置为根据所述硬件配置信息对所述应用程序包内的资源文件进行裁剪,以保留适合所述目标...

【专利技术属性】
技术研发人员:梁博汪文俊周秀虎
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京,11

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

1