一种缩小安装包体积的方法、装置、介质和电子设备制造方法及图纸

技术编号:37433546 阅读:7 留言:0更新日期:2023-05-05 19:48
本发明专利技术涉及应用程序技术领域,尤其涉及一种缩小安装包体积的方法、装置、介质和电子设备,方法包括:获取无SO文件安装包;判断应用程序运行次数,所述应用程序运行次数分为应用程序首次运行和应用程序非首次运行;根据应用程序运行次数判断是否下载更新无SO文件安装包对应的SO文件。本发明专利技术解决了现有安装包中存在多余SO文件占用安装包较大体积的问题,同时不影响安装包的正常安装使用。影响安装包的正常安装使用。影响安装包的正常安装使用。

【技术实现步骤摘要】
一种缩小安装包体积的方法、装置、介质和电子设备


[0001]本专利技术涉及应用程序
,尤其涉及一种缩小安装包体积的方法、装置、介质和电子设备。

技术介绍

[0002]随着业务的快速迭代增长,APP(Application,应用程序)里不断引入新的业务逻辑代码、图片资源和第三方SDK(software development kit,软件开发包),直接导致APK(AndroidPackage,安卓安装包)体积不断增长,进而安装包体积的增长带来的问题越来越多。例如安装包体积越大,用户下载安装成功率越低,进而会影响用户的增长率。因此,缩小安装包体积是非常有必要的。
[0003]目前缩小安装包体积的方法主要是从classes.dex和应用资源的两方面进行缩小,对于存在大量的SO文件的安装包,中国专利CN2019107102901公开了一种提供了一种安装包SO文件精简方法、装置、介质和设备,其通过建立第一函数与第二函数的链接关系,其中,所述第一函数在第一开发语言下运行,第二函数在第二开发语言下运行;创建源码文件,所述文件中仅包括所述第二函数;配置所述SO文件导出路径,使所述SO文件导出路径指向所述源码文件。上述专利通过对SO文件的配置,使得能够在对源码改动极少的情况下,实现安卓SO文件体积的深度精简。但是上述专利还是存在不足之处,为了能兼容所有安卓设备,同一个功能的SO文件会存在多份;因为不同的Android设备使用不同的CPU,这些CPU又支持不同的指令集,CPU和指令集的每种组合都有自己的应用程序二进制接口(ABI),ABI分为armeabi

v7a、arm64

v8a、x86和x86_64。四种ABI都需要有自己的SO文件,而安卓设备的CPU只对应一种ABI,那么在安装包中另外三种SO文件就是多余的,无用的。目前,鲜有通过移除SO文件来缩小安装包体积的相关报道。

技术实现思路

[0004]有鉴于此,本专利技术的目的是提供一种缩小安装包体积的方法、装置、介质和电子设备,解决了现有安装包中存在多余SO文件占用安装包较大体积的问题,同时不影响安装包的正常安装使用。
[0005]本专利技术通过以下技术手段解决上述技术问题:
[0006]第一方面,本专利技术公开了一种缩小安装包体积的方法,包括以下步骤:
[0007]获取无SO文件安装包;
[0008]判断应用程序运行次数,所述应用程序运行次数分为应用程序首次运行和应用程序非首次运行;
[0009]根据应用程序运行次数判断是否下载更新无SO文件安装包对应的SO文件。
[0010]结合第一方面,在一些可选的实施方式中,所述无SO文件安装包通过集成在Android Studio开发工具上的剥离SO文件插件执行打包命令获得,同时还获得SO文件包。
[0011]结合第一方面,在一些可选的实施方式中,所述SO文件包包含有所有ABI类型的SO
文件,所述SO文件包被上传至SO文件管理云平台,所述SO文件管理云平台用于接收和管理SO文件。
[0012]结合第一方面,在一些可选的实施方式中,所述根据应用程序运行次数判断是否下载无SO文件安装包对应的SO文件,包括:
[0013]当应用程序首次运行时,根据应用设备的ABI类型从SO文件管理云平台上下载无SO文件安装包对应的第一SO文件,并进行本地缓存和第一SO文件的版本号记录;
[0014]当应用程序非首次运行时,将应用设备本地缓存的第二SO文件的版本号上传至SO文件管理云平台,根据SO文件管理云平台发出的SO文件版本号比对结果作出是否下载更新SO文件的判断。
[0015]结合第一方面,在一些可选的实施方式中,所述根据SO文件管理云平台发出的SO文件版本号比对结果作出是否下载更新SO文件的判断,包括:
[0016]当所述第二SO文件的版本号相较于SO文件管理云平台中的版本号小时,下载对应应用设备的ABI类型的SO文件用于替换第二SO文件;
[0017]当所述第二SO文件的版本号相较于SO文件管理云平台中的版本号相同时,无需下载SO文件。
[0018]第二方面,本专利技术还提供了一种缩小安装包体积的装置,包括:
[0019]获取模块,用于移除安装包中的SO文件,获得无SO文件安装包和SO文件包;
[0020]判断模块,用于判断应用程序的运行次数,并将运行次数分为应用程序首次运行和应用程序非首次运行;
[0021]SO文件管理模块,集成在应用程序中,用于获取对应应用设备的ABI类型的SO文件;
[0022]SO文件管理云平台,用于帮助应用程序管理者接收和管理SO文件,所述SO文件管理模块与SO文件管理云平台通讯连接。
[0023]结合第二方面,在一些可选的实施方式中,所述SO文件包包含有所有ABI类型的SO文件,所述SO文件包被上传至SO文件管理云平台。
[0024]结合第二方面,在一些可选的实施方式中,所述SO文件管理模块包括:
[0025]下载单元,用于从SO文件管理云平台上下载SO文件;
[0026]更新替换单元,用于接收从SO文件管理云平台上下载的SO文件并更新替换本地缓存的第二SO文件。
[0027]第三方面,本专利技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述的方法。
[0028]第四方面,本专利技术还提供了一种电子设备,包括:
[0029]一个或多个处理器;
[0030]存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述的方法。
[0031]本专利技术的一种缩小安装包体积的方法、装置、介质和电子设备,具有如下优点:
[0032]本专利技术将SO文件从安装包中移除,克服了现有安装包存在多余SO文件占用较大体积的问题,获取的安装包中不会包含SO文件,安装包体积更小,对于大量应用SO文件的安卓应用,精简效果一般在50%~60%左右,从而使得安卓应用安装包的体积可以有效地精简,
进而提高应用的下载成功率,为产品带来更多用户,提高产品的推广效率。同时,本专利技术将移除的包含有所有ABI类型的SO文件的SO文件包上传至SO文件云管理云平台,并通过SO文件管理模块进行SO文件的下载和更新,从而不会影响安装包的正常安装使用。
附图说明
[0033]本专利技术可以通过附图给出的非限定性实施例进一步说明。应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0034]图1为本专利技术实施例提供的缩小安装包体积的方法的流程示意图;
[0035]图2为本专利技术实施例提供的缩小安装包体积的装置的框图;
[0036]图3为本专利技术剥离SO文件插件执行流程图;
[0037]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缩小安装包体积的方法,其特征在于,包括以下步骤:获取无SO文件安装包;判断应用程序运行次数,所述应用程序运行次数分为应用程序首次运行和应用程序非首次运行;根据应用程序运行次数判断是否下载更新无SO文件安装包对应的SO文件。2.根据权利要求1所述的一种缩小安装包体积的方法,其特征在于,所述无SO文件安装包通过集成在Android Studio开发工具上的剥离SO文件插件执行打包命令获得,同时还获得SO文件包。3.根据权利要求2所述的一种缩小安装包体积的方法,其特征在于,所述SO文件包包含有所有ABI类型的SO文件,所述SO文件包被上传至SO文件管理云平台,所述SO文件管理云平台用于接收和管理SO文件。4.根据权利要求3所述的一种缩小安装包体积的方法,其特征在于,所述根据应用程序运行次数判断是否下载无SO文件安装包对应的SO文件,包括:当应用程序首次运行时,根据应用设备的ABI类型从SO文件管理云平台上下载无SO文件安装包对应的第一SO文件,并进行本地缓存和第一SO文件的版本号记录;当应用程序非首次运行时,将应用设备本地缓存的第二SO文件的版本号上传至SO文件管理云平台,根据SO文件管理云平台发出的SO文件版本号比对结果作出是否下载更新SO文件的判断。5.根据权利要求4所述的一种缩小安装包体积的方法,其特征在于,所述根据SO文件管理云平台发出的SO文件版本号比对结果作出是否下载更新SO文件的判断,包括:当所述第二SO文件的版本号相较于SO文件管理云平台中的版本号小时,下载对应应用设备的AB...

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

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

1