一种精简安装包云端生成方法、装置、设备及存储介质制造方法及图纸

技术编号:38336125 阅读:13 留言:0更新日期:2023-08-02 09:16
本发明专利技术涉及应用程序处理技术领域,公开了一种精简安装包云端生成方法、装置、设备及存储介质,其中方法包括:从接收到的源文件中获取资源文件和SO文件;所述源文件中包括不同类型的资源文件和不同类型的SO文件;根据终端设备的屏幕尺寸和屏幕密度对不同类型的资源文件进行组合,得到精简资源文件;根据所述终端设备支持的应用程序二进制接口对不同类型的SO文件进行组合,得到精简SO文件;对所述精简资源文件和所述精简SO文件进行打包,得到精简安装包。本发明专利技术生成的精简安装包中不存在多余的资源文件和SO文件,能够大大减小安装包的体积,提高应用程序下载成功率和产品推广效率。提高应用程序下载成功率和产品推广效率。提高应用程序下载成功率和产品推广效率。

【技术实现步骤摘要】
一种精简安装包云端生成方法、装置、设备及存储介质


[0001]本专利技术涉及应用程序处理
,更具体地,涉及一种精简安装包云端生成方法、装置、设备及存储介质。

技术介绍

[0002]随着业务的快速迭代增长,应用程序里不断引入新的业务逻辑代码、图片资源和第三方软件开发包,这直接导致应用安装包体积不断增长,带来诸多问题。为了能兼容所有安卓设备的屏幕和CPU支持的指令集,应用程序的开发人员会将所有资源文件和SO文件放在不同目录中,使得不同目录会存在重复的资源文件和SO文件,所生成的安装包会存在许多多余的资源文件和SO文件,导致安装包的体积偏大。

技术实现思路

[0003]本专利技术为克服现有技术生成的安装包会存在多余的资源文件和SO文件,导致安装包的体积大的缺陷,提出如下技术方案:
[0004]第一个方面,本专利技术提出一种精简安装包云端生成方法,包括:
[0005]从接收到的源文件中获取资源文件和SO文件。所述源文件中包括不同类型的资源文件和不同类型的SO文件。
[0006]根据终端设备的屏幕尺寸和屏幕密度对不同类型的资源文件进行组合,得到精简资源文件。
[0007]根据所述终端设备支持的应用程序二进制接口对不同类型的SO文件进行组合,得到精简SO文件。
[0008]对所述精简资源文件和所述精简SO文件进行打包,得到精简安装包。
[0009]第二个方面,本专利技术还提出一种精简安装包云端生成装置,包括:
[0010]获取模块,用于从接收到的源文件中获取资源文件和SO文件。所述源文件中包括不同类型的资源文件和不同类型的SO文件。
[0011]第一组合模块,用于根据终端设备的屏幕尺寸和屏幕密度对不同类型的资源文件进行组合,得到精简资源文件。
[0012]第二组合模块,用于根据所述终端设备支持的应用程序二进制接口对不同类型的SO文件进行组合,得到精简SO文件。
[0013]打包模块,用于对所述精简资源文件和所述精简SO文件进行打包,得到精简安装包。
[0014]第三个方面,本专利技术还提出一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,其中,所述处理器执行所述程序时实现如第一个方面中任一方案所述的精简安装包云端生成方法所执行的操作。
[0015]第四个方面,本专利技术还提出一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行如第一个方面中任一方案所述的精简安装包云端生成方法所执行
的操作。
[0016]与现有技术相比,本专利技术技术方案的有益效果至少包括:本专利技术通过在云端根据包括终端设备的屏幕密度、屏幕尺寸和及其支持的应用程序二进制接口对资源文件和SO文件进行组合,生成精简安装包,精简安装包中不存在多余的资源文件和SO文件,能够大大减小安装包的体积,提高应用程序下载成功率和产品推广效率。
附图说明
[0017]图1为本申请实施例所提供的精简安装包云端生成方法的流程示意图Ⅰ。
[0018]图2为本申请实施例中对包括资源文件和SO文件的源文件进行打包压缩的流程示意图。
[0019]图3为本申请实施例中对资源文件和SO文件进行组合的流程示意图。
[0020]图4为本申请实施例中生成精简安装包的流程示意图。
[0021]图5为本申请实施例所提供的精简安装包云端生成方法的流程示意图Ⅱ。
[0022]图6为本申请实施例的精简安装包云端生成装置的架构图。
[0023]图7为本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0024]以下将参照附图和优选的技术方案来说明本专利技术的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。应当理解,优选的技术方案仅为了说明本专利技术,而不是为了限制本专利技术的保护范围。
[0025]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本专利技术的基本构想,遂图式中仅显示与本专利技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0026]在下文描述中,探讨了大量细节,以提供对本专利技术实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本专利技术的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本专利技术的实施例难以理解。
[0027]安卓是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统,其主要使用于移动设备(智能手机和平板电脑)。由于其自由及开放的原则,其使用逐渐扩展到电视、汽车、智能手表、数码相机和游戏机等设备上。这些设备的屏幕密度、屏幕尺寸以及CPU支持的指令集不一定相同,安卓应用开发的过程中就需要考虑到屏幕适配和CPU支持的指令集的问题,以保证其在的安卓设备上完美运行。
[0028]具体而言,图1为本申请实施例所提供的精简安装包云端生成方法的流程示意图Ⅰ。
[0029]如图1所示,该精简安装包云端生成方法包括以下步骤:
[0030]S101:从接收到的源文件中获取资源文件和SO文件;所述源文件中包括不同类型
的资源文件和不同类型的SO文件。
[0031]在具体实施过程中,使用集成在Android Studio开发工具上的工程打包插件对包括源码文件、SO文件、资源文件和工程依赖的第三方文件(lib class文件)的源文件进行打包压缩,打包压缩的流程如图2所示,当执行打包命令时,首先把源码文件经过Java Compiler工具编译成class文件,之后再把class文件与资源文件、SO文件和lib class文件一起打包压缩得到压缩包。在云端对压缩包进行解压,得到class文件、lib class文件、资源文件和SO文件。
[0032]如图3所示,图3为本申请实施例中对资源文件和SO文件进行组合的流程示意图。
[0033]S102:根据终端设备的屏幕尺寸和屏幕密度对不同类型的资源文件进行组合,得到精简资源文件。
[0034]可选地,在本申请的一个实施例中,所述资源文件包括图片文件和布局文件;所述精简资源文件为若干个由与屏幕密度不相关的图片文件、支持不同屏幕密度的图片文件和支持不同屏幕尺寸的布局文件组成的资源文件组。
[0035]可选地,在本申请的一个实施例中,所述支持不同屏幕密度的图片文件包括支持n个不同屏幕密度等级的图片文件,n为大于等于2的正整数;所述支持不同屏幕尺寸的布局文件包括支持小屏幕尺寸和支持大屏幕尺寸的布局文件。
[0036]可选地,在本申请的一个实施例中,对不同类型的资源文件进行组合,得到精简资源文件,具体包括:...

【技术保护点】

【技术特征摘要】
1.一种精简安装包云端生成方法,其特征在于,包括:从接收到的源文件中获取资源文件和SO文件;所述源文件中包括不同类型的资源文件和不同类型的SO文件;根据终端设备的屏幕尺寸和屏幕密度对不同类型的资源文件进行组合,得到精简资源文件;根据所述终端设备支持的应用程序二进制接口对不同类型的SO文件进行组合,得到精简SO文件;对所述精简资源文件和所述精简SO文件进行打包,得到精简安装包。2.根据权利要求1所述的精简安装包云端生成方法,其特征在于,所述资源文件包括图片文件和布局文件;所述精简资源文件为若干个由与屏幕密度不相关的图片文件、支持不同屏幕密度的图片文件和支持不同屏幕尺寸的布局文件组成的资源文件组。3.根据权利要求2所述的精简安卓安装包生成方法,其特征在于,所述支持不同屏幕密度的图片文件包括支持n个不同屏幕密度等级的图片文件,n为大于等于2的正整数;所述支持不同屏幕尺寸的布局文件包括支持小屏幕尺寸和支持大屏幕尺寸的布局文件。4.根据权利要求3所述的精简安装包云端生成方法,其特征在于,所述根据终端设备的屏幕尺寸和屏幕密度对不同类型的资源文件进行组合,得到精简资源文件,具体包括:将与屏幕密度不相关的图片文件和支持小屏幕尺寸的布局文件,分别与支持n个不同屏幕密度等级的图片文件进行组合,得到n个第一精简资源文件;将与屏幕密度不相关的图片文件和支持大屏幕尺寸的布局文件,分别与支持n个不同屏幕密度等级的图片文件进行组合,得到n个第二精简资源文件。5.根据权利要求1所述的精简安装包云端生成方法,其特征在于,根据所述终端设备支持的应用程序二进制接口对不同类型的SO文件进行组合,得到精简SO文...

【专利技术属性】
技术研发人员:兰洋王超章宇
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

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

1