【技术实现步骤摘要】
应用程序安装包文件编译构建方法、装置及电子设备
本申请涉及应用程序安装包编译构建
,特别是涉及应用程序安装包文件编译构建方法、装置及电子设备。
技术介绍
随着应用程序中功能的增加,会导致应用程序安装文件的体积增大。而如果一个应用的安装文件体积比较大,则至少可能带来以下几点影响:第一,下载转化率低,通常而言,用户比较倾向于选择体积比较小的安装包进行下载,因此,安装包的体积越小,对应的下载率越高。另外,应用程序在进行大版本更新时通常会丢失用户,安装包越大,则丢失比例越大。第二,在需要对应用程序进行推广等场景中,具体的推广平台一般按照流量进行计费,因此,安装包体积越大,则推广成本越高。因此,如何优化安装包体积是一个很重要的问题。现有技术中优化安装包体积的方式通常是对资源文件或者第三方开源库的代码进行优化。例如,对于资源文件的优化主要包括在图片文件的格式的选择(对于没有透明度需求的图片,则选择jpg和jpeg,相对png的文件体积更小)、图片的压缩、重复图片的删除等。第三方开源库方法的优化主要包括裁剪掉第三方开源库的一些代码等。但是,在以上各种优化方式的基础上,如何进一步优化安装包的体积,现有技术中并没有给出相应的解决方案。
技术实现思路
本申请提供了应用程序安装包文件编译构建方法、装置及电子设备,能够优化安装包的体积。本申请提供了如下方案:一种应用程序安装包文件编译构建方法,包括:从与安装目标应用程序相关的文件中确定目标文件;利用第一压缩算法对所述目 ...
【技术保护点】
1.一种应用程序安装包文件编译构建方法,其特征在于,包括:/n从与安装目标应用程序相关的文件中确定目标文件;/n利用第一压缩算法对所述目标文件进行压缩,得到压缩后的目标文件;/n设置所述目标应用程序的代码文件中对所述目标文件进行加载的相关代码为自定义加载类;/n利用第二压缩算法,对所述压缩后的目标文件、所述代码文件以及与安装所述目标应用程序相关的其他文件进行压缩,生成所述应用程序的安装包文件;/n其中,所述自定义加载类用于在所述目标应用程序被安装后的运行阶段,对加载所述目标文件的请求进行拦截,并对处于压缩状态的目标文件进行解压处理。/n
【技术特征摘要】
1.一种应用程序安装包文件编译构建方法,其特征在于,包括:
从与安装目标应用程序相关的文件中确定目标文件;
利用第一压缩算法对所述目标文件进行压缩,得到压缩后的目标文件;
设置所述目标应用程序的代码文件中对所述目标文件进行加载的相关代码为自定义加载类;
利用第二压缩算法,对所述压缩后的目标文件、所述代码文件以及与安装所述目标应用程序相关的其他文件进行压缩,生成所述应用程序的安装包文件;
其中,所述自定义加载类用于在所述目标应用程序被安装后的运行阶段,对加载所述目标文件的请求进行拦截,并对处于压缩状态的目标文件进行解压处理。
2.根据权利要求1所述的方法,其特征在于,还包括:
将所述压缩后的目标文件的文件名修改为与压缩前的文件名相同。
3.根据权利要求1所述的方法,其特征在于,
所述目标文件包括动态链接库文件。
4.根据权利要求3所述的方法,其特征在于,
所述设置所述目标应用程序的代码文件中对所述目标文件进行加载的相关代码为自定义加载类,包括:
设置所述目标应用程序的代码文件中通过调用目标系统接口对所述动态链接库文件进行加载的相关代码为自定义加载类;
所述自定义加载类用于在所述目标应用程序被安装后的运行阶段,对通过加载所述目标文件的请求进行拦截,并对处于压缩状态的动态链接库文件进行解压处理。
5.根据权利要求1所述的方法,其特征在于,
所述目标文件包括资源文件。
6.根据权利要求1所述的方法,其特征在于,还包括:
获取不同的目标文件之间的依赖关系信息,并保存到所述代码文件所在的目录中;
所述自定义加载类具体用于,在拦截到加载所述目标文件的请求后,根据所述依赖关系信息,确定与所述目标文件具有依赖关系的文件,并对处于压缩状态的所述目标文件以及与其具有依赖关系的文件进行解压。
7.根据权利要求1所述的方法,其特征在于,还包括:
获取原始的目标文件的散列函数值,并保存到所述代码文件所在的目录中;
所述自定义加载类还用于,在对处于压缩状态的目标文件进行解压后,通过获取解压后的文件的散列函数值,并通过与所述原始的目标文件的散列函数值进行一致性对比,确定解压后的文件与原始的目标文件是否一致。
8.根据权利要求1至7任一项所述的方法,其特征在于,
所述目标文件为多个;
所述利用第一压缩算法对所述目标文件进行压缩,得到压缩后的目标文件,包括:
利用第一压缩算法,分别对所述目标文件进行压缩,得到多个压缩后的目标文件。
9.根据权利要求1至7任一项所述的方法,其特征在于,还包括:
提供用于对安装包生成方式进行选择的操作选项,以用于对利用所述第二压缩算法进行压缩之前,是否采用所述第一压缩算法对所述目标文件进行压缩进行选择。
10.根据权利要求1至7任一项所述的方法,其特征在于,
所述第一压缩算法与所述第二压缩算法不同。
11.一种应用程序安装包文件处理方法,其特征在于,包括:
在通过编译构建工具对应用程序进行安装包文件的编译及构建的过程中,从与安装目标应用程序相关的文件中确定目标文件;
利用第一压缩算法,对所述目标文件进行压缩,得到压缩后的目标文件;
设置所述目标应用程序的代码文件中对所述目标文件进行加载的相关代码为自定义加载类;
将所述压缩后的目标文件以及所述代码文件提供给所述编译构建工具,所述编译构建工具用于利用第二压缩算法,对所述压缩后的目标文件、所述代码文件以及与安装所述应用程序相关的其他文件进行压缩,生成所述应用程序的安装包文件;
其中,所述自定义加载类用于在所述应用程序被安装后的运行...
【专利技术属性】
技术研发人员:刘志龙,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。