一种应用程序的压缩方法和装置制造方法及图纸

技术编号:18444601 阅读:67 留言:0更新日期:2018-07-14 10:15
本申请公开了一种推荐网络对象的方法和装置,其中,所述方法包括:采用预设压缩算法对源应用程序中的被调文件进行压缩,将主调文件对被调文件的调用修改为对所述预设压缩算法对应的解压功能文件的调用,封装修改后的主调文件、压缩后的被调文件和解压功能文件,得到压缩应用程序,如果采用比原有压缩算法压缩率更高的算法,可以提高压缩应用程序的压缩率,得到更小体积的应用程序,从而使得该应用程序运行时可以调用能够解压预设压缩算法的算法进行解压,从而可以解决了原先对压缩率高的算法无法兼容的问题,可以让应用程序本身具备解压压缩率高的压缩算法的功能,保证采用更高压缩率的应用程序的正常运行。

A compression method and device for an application

The present application discloses a method and device for recommending a network object, in which the method includes: using a preset compression algorithm to compress the transferred file in the source application, modify the call of the primary file to the transferred file to the call of the presupposed compression function file corresponding to the preset compression algorithm, and encapsulate the modification after the modification. The compressing application is obtained by the main file, the compressed file and the unzip function file. If the compression rate is higher than the original compression algorithm, the compression rate of the compressed application can be improved and the application program of smaller volume can be obtained, so that the application can be invoked to unzip the application when the application is running. The algorithm of compression algorithm is decompressed, which can solve the incompatible problem of the original algorithm with high compression rate, which can make the application itself have the function of decompression compression algorithm with high compression compression rate, and ensure the normal operation of the application with higher compression rate.

【技术实现步骤摘要】
一种应用程序的压缩方法和装置
本申请涉及应用程序压缩
,具体涉及一种应用程序的压缩方法和装置。
技术介绍
APK(Androidapplicationpackage,安卓应用应用程序)是Android操作系统使用的一种应用应用程序文件格式,用于分发和安装移动应用及中间件。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。一个APK文件内包含被编译的代码文件,文件资源,证书,和清单文件。APK体积的减少是商业化应用不断优化的目标之一,减少APK应用的体积主要是通过本身应用功能,逻辑框架的修改来达到其目的。但如果当一个APK应用在本身业务逻辑上的取舍已经达到最优,还可以通过对已经生成的APK应用重新压缩,或者修改其视频,音频,图片资源的大小来进一步的减少体积。在生成APK应用程序的时候,默认对其应用中的so文件采用的压缩算法是deflate算法。而当APK应用安装到Android手机上以后,手机在运行这个APK应用的时候,当本文档来自技高网...

【技术保护点】
1.一种应用程序的压缩方法,其特征在于,包括:采用预设压缩算法对源应用程序中的被调文件进行压缩;将主调文件对被调文件的调用修改为对所述预设压缩算法对应的解压功能文件的调用,所述解压功能文件用于解压和加载压缩后的被调文件;封装修改后的主调文件、压缩后的被调文件和解压功能文件,得到压缩应用程序。

【技术特征摘要】
1.一种应用程序的压缩方法,其特征在于,包括:采用预设压缩算法对源应用程序中的被调文件进行压缩;将主调文件对被调文件的调用修改为对所述预设压缩算法对应的解压功能文件的调用,所述解压功能文件用于解压和加载压缩后的被调文件;封装修改后的主调文件、压缩后的被调文件和解压功能文件,得到压缩应用程序。2.根据权利要求1所述的方法,其特征在于,在所述采用预设压缩算法对源应用程序中的被调文件进行压缩之前,所述方法还包括:查找所述源应用程序中可采用预设压缩算法进行压缩的被调文件。3.根据权利要求2所述的方法,其特征在于,所述被调文件为动态链接库文件,所述主调文件为调用所述动态链接库文件的可执行文件;所述查找所述源应用程序中可采用预设压缩算法进行压缩的被调文件包括:在所述源应用程序包括的多种类型的文件中查找动态链接库文件。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述主调文件的初始化对象中增加解压功能文件。5.根据权利要求1或4所述的方法,其特征在于,所述方法还包括:将所述解压功能文件添加至归属于应用程序的主框架的主调文件。6.根据权利要求4所述的方法,其特征在于,所述在所述主调文件的初始化对象中增加解压功能文件包括:在所述主调文件的程序入口位置查找运行的首个函数;在所述首个函数的调用对象中增加对应所述预设压缩算法的解压功能文件。7.根据权利要求4所述的方法,其特征在于,在所述在所述主调文件的初始化对象中增加解压功能文件之前,所述方法还包括:从所述源应用程序的应用全局配置文件中,提取所述源应用程序的程序入口位置的入口类名称。8.根据权利要求1或5所述的方法,其特征在于,所述方法还包括:反编译对应的主调文件。9.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定所述被调文件之间的依赖关系,并生成记录依赖关系的依赖文件。10.根据权利要求9所述的方法,其特征在于,所述封装修改后的主调文件、压缩后的被调文件和解压功能文件,得到压缩应用程序包括:封装所述依赖文件、修改后的主调文件、压缩后的被调文件和解压功能文件,得到压缩应用程序。11.根据权利要求1所述的方法,其特征在于,所述封装修改后的主调文件、压缩后的被调文件和解压功能文件,得到压缩应用程序包括:对修改后的主调文件进行压缩,并替换至修改前的主调文件所处位置;对所述压缩后的被调文件和解压功能文件进行压缩,并添加至所述源应用程序中,得到压缩应用程序。12.根据权利要求11所述的方法,其特征在于,所述封装修改后的主调文件、压缩后的被调文件和解压功能文件,得到压缩应用程序还包括:提取归属于应用程序的主框架的主调文件并进行压缩,得到压缩后的主框架文件,所述主框架的主调文件中已添加所述解压功能文件;采用压缩后的主框架文件替换所述源应用程序原有的主框架文件。13.根据权利要求1所述的方法,其特征在于,在所...

【专利技术属性】
技术研发人员:孙泽夺
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1