CN106325896B - 安装包的共享函数库文件处理方法及装置 - Google Patents

安装包的共享函数库文件处理方法及装置 Download PDF

Info

Publication number
CN106325896B
CN106325896B CN201510340192.5A CN201510340192A CN106325896B CN 106325896 B CN106325896 B CN 106325896B CN 201510340192 A CN201510340192 A CN 201510340192A CN 106325896 B CN106325896 B CN 106325896B
Authority
CN
China
Prior art keywords
shared function
function library
package
compression
installation package
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510340192.5A
Other languages
English (en)
Other versions
CN106325896A (zh
Inventor
况鹰
涂强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510340192.5A priority Critical patent/CN106325896B/zh
Publication of CN106325896A publication Critical patent/CN106325896A/zh
Application granted granted Critical
Publication of CN106325896B publication Critical patent/CN106325896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开一种安装包的共享函数库文件处理方法,所述安装包的共享函数库文件处理方法包括以下步骤:获取预置编译平台生成的安装包中共享函数库文件对应的初始压缩包;解压所述初始压缩包得到共享函数库文件;调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包;将所述目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包。本发明还公开一种安装包的共享函数库文件处理装置。本发明减小了安装包的大小。

Description

安装包的共享函数库文件处理方法及装置
技术领域
本发明涉及移动终端技术领域,尤其涉及安装包的共享函数库文件处理方法及装置。
背景技术
随着移动智能终端的快速发展,智能终端中应用软件也越来越多,应用软件的安装通常需通过网络下载相应的安装包。但是随着应用软件的功能越来越多,安装包也在不断的升级,从而使得安装包越来越大,进而导致传输过程中产生的流量加大,浪费网络传输流量资源。
在安卓操作系统中,安装包为apk安装包,在通过安卓编译平台对应应用程序编译时,通常采用预置编译处理工具对资源文件进行编译处理,以得到apk安装包。该资源文件中包括共享函数库文件,现有技术中对共享函数库文件的压缩处理过程通常是调用安卓编译平台内置默认的Deflate算法,但是受到Deflate算法的限制,共享函数库文件压缩后的压缩包较大,导致最终得到的apk安装包较大。
发明内容
本发明实施例的主要目的是提供一种安装包的共享函数库文件处理方法及装置,旨在减小安装包的大小。
为实现上述目的,本发明实施例提供了一种安装包的共享函数库文件处理方法,所述安装包的共享函数库文件处理方法包括以下步骤:
获取预置编译平台生成的安装包中共享函数库文件对应的初始压缩包;
解压所述初始压缩包得到共享函数库文件;
调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包;
将所述目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包。
进一步地,本发明实施例还提供了一种安装包的共享函数库文件处理装置,所述安装包的共享函数库文件处理装置包括:
获取模块,用于获取预置编译平台生成的安装包中共享函数库文件对应的初始压缩包;
第一解压模块,用于解压所述初始压缩包得到共享函数库文件;
压缩模块,用于调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包;
处理模块,用于将所述目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包。
本发明实施例通过在编译平台生成的安装包后,获取安装包内共享函数库文件对应的初始压缩包,然后解压所述初始压缩包得到共享函数库文件;并调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包;最后将所述目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包。从而可以有效减小共享函数库文件对应压缩包的占用空间大小,因此减小了安装包的大小,进而减少传输过程中产生的流量,节省网络传输流量资源。
附图说明
图1是本发明安装包的共享函数库文件处理装置第一实施例的硬件架构示意图;
图2是本发明安装包的共享函数库文件处理装置第二实施例的功能模块示意图;
图3是本发明安装包的共享函数库文件处理装置第三实施例的功能模块示意图;
图4是本发明安装包的共享函数库文件处理装置第四实施例的功能模块示意图;
图5是本发明安装包的共享函数库文件处理方法第一实施例的流程示意图;
图6是本发明安装包的共享函数库文件处理方法第二实施例的流程示意图;
图7是本发明安装包的共享函数库文件处理方法第三实施例的流程示意图;
图8是本发明安装包的共享函数库文件处理方法第四实施例的流程示意图;
图9是本发明安装包的共享函数库文件处理方法第五实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,提出本发明安装包的共享函数库文件处理装置第一实施例。该实施例中,该安装包的共享函数库文件处理装置包括:处理器111、存储器112、用户接口113、网络接口114及通信总线115。通信总线115用于数据服务器中各组成部件之间的通信,用户接口113用于接收用户输入的信息,该用户接口可以为有线接口及无线接口,例如键盘、鼠标等。网络接口114用于数据服务器与外部进行互相通信,该网络接口114也可以包括有线接口及无线接口。存储器112可以包括一个或一个以上计算机可读存储介质,而且其不但包括内部存储器,还包括外部存储器。该存储器中存储有操作系统及文件处理应用程序等等。处理器111用于调用存储器112中的文件处理应用程序,以执行以下操作:
获取预置编译平台生成的安装包中共享函数库文件对应的初始压缩包;
解压所述初始压缩包得到共享函数库文件;
调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包;
将所述目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包。
进一步地,处理器111还用于调用存储器112中的文件处理应用程序,以执行以下操作:
对包含所述目标压缩包的安装包进行签名处理。
进一步地,处理器111还用于调用存储器112中的文件处理应用程序,以执行以下操作:
下载安装所述签名处理后的安装包后,判断是否接收到加载共享函数库请求;
当接收到加载共享函数请求时,判断共享函数库文件是否已经被解压;
若是,则在所述共享函数库文件中加载对应的共享函数库;
若否,则调用所述预置压缩工具从预置位置对所述目标压缩包进行解压处理,并将解压获得的共享函数库文件储存至预置路径下。
进一步地,处理器111还用于调用存储器112中的文件处理应用程序,以执行以下操作:
调用预置压缩工具将所有共享函数库文件压缩形成一目标压缩包。
进一步地,处理器111还用于调用存储器112中的文件处理应用程序,以执行以下操作:
调用预置压缩工具将所有共享函数库文件压缩,以使共享函数库文件对应形成一目标压缩包。
本发明实施例通过在编译平台生成的安装包后,获取安装包内共享函数库文件对应的初始压缩包,然后解压所述初始压缩包得到共享函数库文件;并调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包;最后将所述目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包。从而可以有效减小共享函数库文件对应压缩包的占用空间大小,因此减小了安装包的大小,进而减少传输过程中产生的流量,节省网络传输流量资源。
进一步地,参照图2,在本发明安装包的共享函数库文件处理装置第二实施例中,该安装包的共享函数库文件处理装置包括:
获取模块10,用于获取预置编译平台生成的安装包中共享函数库文件对应的初始压缩包;
本发明实施例提供的安装包的共享函数库文件处理装置主要应用于安卓操作系统中,用于对应用程序编译流程进行控制,以生成安装包。本实施例中,该安装包是指apk安装包。上述预置编译平台为Android编译平台,在Android编译平台中通过aapt对资源文件进行编译形成二进制文件,当所有的资源文件编译完成后将打包形成apk安装包。当应用程序有共享函数库文件(即so文件)的情况下,通常采用Android编译平台内置默认的Deflate算法压缩共享函数库文件,并将共享函数库文件压缩后存储在apk安装包的libs中。本实施例中,上述初始压缩包为apk安装包的libs中共享函数库文件通过Deflate算法压缩得到的压缩文件。
第一解压模块20,用于解压所述初始压缩包得到共享函数库文件;
当获取到上述apk安装包的libs中存在初始压缩包时,可以通过对应的压缩工具对初始压缩包进行解压,以还原共享函数库文件。具体地,本实施例中,上述对应的压缩工具具体地压缩算法可以根据实际需要进行设置,在此不做进一步地限定。例如,可以采用Deflate算法,具体地,该7-Zip压缩工具应用了LZMA(Lempel-Ziv-Markov chain-Algorithm)算法,该LZMA算法是Deflate算法和LZ77算法改良和优化后的压缩算法。在其他实施例中,还可以直接采用Deflate算法对初始压缩包进行解压处理,以得到共享函数库文件。
压缩模块30,用于调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包;
本实施例中,该预置压缩工具的形式可以根据实际实际需要进行设置,但该预置压缩工具的压缩比要大于上述Deflate算法的压缩比。该压缩比是指压缩前与压缩后的文件所占的磁盘空间比值,其中压缩比越大,压缩效果越好,压缩后的体积越小。即在本实施例中,通过上述预置压缩工具压缩后的目标压缩包小于上述初始压缩包。优选地,该预置压缩工具可以为7-Zip压缩工具,该7-Zip压缩工具中应用了LZMA算法。
处理模块40,用于将所述目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包。
本实施例中,上述预置位置的路径可以根据实际需要进行设置,例如,优选地,可以放在apk安装包的assets目录下。具体地,可以在压缩的过程中对是否压缩成功进行判断,当压缩出错时,则不进行压缩包替换,当成功压缩得到上述目标压缩包时,则将目标压缩包储存至apk安装包的assets目录下,然后删除初始压缩包。由于在本实施例中,在将目标压缩包储存至所述安装包的预置位置后,删除初始压缩包,从而有效保证了安装包的完整性,防止了由于在压缩得到目标压缩包时发生错误,影响后续安装该apk安装包时无法正常加载共享函数。
本发明实施例通过在编译平台生成的安装包后,获取安装包内共享函数库文件对应的初始压缩包,然后解压所述初始压缩包得到共享函数库文件;并调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包;最后将所述目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包。从而可以有效减小共享函数库文件对应压缩包的占用空间大小,因此减小了安装包的大小,进而减少传输过程中产生的流量,节省网络传输流量资源。
进一步地,参照图3,基于本发明安装包的共享函数库文件处理装置第二实施例,在本发明安装包的共享函数库文件处理装置第三实施例中,上述安装包的共享函数库文件处理装置还包括:
签名模块50,用于对包含所述目标压缩包的安装包进行签名处理。
本实施例中,在通过上述编译平台编译生成的安装包为Android Package(.apk)文件,该文件需要进行通过jarsigner进行签名处理后得到相应的signer.apk文件时,才能被正常安装使用。应当说明的是,对包含所述目标压缩包的安装包的签名处理方式和流程均可参照现有apk安装包的签名处理方式和流程,在此不再赘述。
进一步地,参照图4,基于本发明安装包的共享函数库文件处理装置第三实施例,在本发明安装包的共享函数库文件处理装置第四实施例中,上述安装包的共享函数库文件处理装置还包括:
第一判断模块60,用于下载安装所述签名处理后的安装包后,判断是否接收到加载共享函数库请求;
第二判断模块70,用于当接收到加载共享函数请求时,判断共享函数库文件是否已经被解压;
加载模块80,用于当共享函数库文件已经被解压时,在所述共享函数库文件中加载对应的共享函数库;
第二解压模块90,用于当共享函数库文件未被解压时,调用所述预置压缩工具从预置位置对所述目标压缩包进行解压处理,并将解压获得的共享函数库文件储存至预置路径下。
本实施例中,未签名的上述apk安装包经过签名处理后得到可以正常安装使用的apk安装包。当用户在下载安装apk安装包后,可以直接运行该apk安装包对应的应用程序,该应用程序要加载某个共享函数库a.so时,将生成加载共享函数请求到应用程序管理服务器,以开启进程加载对应的共享函数库a.so。当应用程序管理服务器接收到该加载共享函数请求时,将首先判断该加载共享函数请求对应的共享函数库a.so是否被解压出来,当该加载共享函数请求对应的共享函数库a.so已经被解压出来,则可以直接加载共享函数库a.so;当该加载共享函数请求对应的共享函数库a.so还未被解压出来,则可以调用上述预置压缩工具对共享函数库a.so进行解压,储存到android设备的指定路径上。
本实施例中,由于将共享函数库的解压与安装包的解压分开不同时段处理,从而将两者的解压时间打散,减少了apk安装包的安装时间。
可以理解的是,上述判断共享函数库文件是否已经被解压的判断方式可以根据实际需要进行设置,例如可以查询在android设备的指定路径上是否存在共享函数库,也可以查询在android设备的指定路径上是否存在共享函数请求对应的共享函数库a.so,在此不做进一步地限定。
可以理解的是,上述对解压后得到的共享函数库文件进行压缩时,压缩得到的目标压缩包数量可以根据实际需要进行设置。例如可以将所有的共享函数库文件放在一起压缩得到一个目标压缩包;还可以单独对每一个共享函数库文件进行压缩,以得到多个目标压缩包。以下将以两个不同的方式进行详细说明。
具体地,基于本发明安装包的共享函数库文件处理装置第二实施例、第三实施例和第四实施例,在本发明安装包的共享函数库文件处理装置第五实施例中,上述压缩模块30具体用于,调用预置压缩工具将所有共享函数库文件压缩形成一目标压缩包。
例如,当解压上述初始压缩包得到5个不同的共享函数库文件,可以将该5个不同的共享函数库文件暂存到预置文件夹下,然后通过调用上述7-Zip压缩工具对该预置文件夹进行压缩处理,以得到一个目标压缩包。由于在本实施例中,采用一个目标压缩包打包所有的共享函数库文件,因此在后续安装apk安装后,仅需要通过7-Zip压缩工具进行一次解压操作即可。即在运行应用程序后首次加载共享函数库时,将会将所有的共享函数库文件解压出来。防止了后续运行应用程序时,需要解压共享函数库文件,需要等待压缩延时,从而用户的体验。
进一步地,基于本发明安装包的共享函数库文件处理装置第二实施例、第三实施例和第四实施例,在本发明安装包的共享函数库文件处理装置第六实施例中,上述压缩模块30具体用于,调用预置压缩工具将所有共享函数库文件压缩,以使共享函数库文件对应形成一目标压缩包。
本发明安装包的共享函数库文件处理装置第六实施例与本发明安装包的共享函数库文件处理装置第五实施例的区别仅在于,本实施例中通过上述7-Zip压缩工具压缩共享函数库文件得到的目标压缩包为多个。例如,当解压上述初始压缩包得到5个不同的共享函数库文件,可以将该5个不同的共享函数库文件暂存到预置文件夹下,然后通过调用上述7-Zip压缩工具对该每一个共享函数库文件进行单独压缩处理,以使每一个共享函数库文件对应压缩得到一个目标压缩包。由于在本实施例中,采用一个目标压缩包打包所有的共享函数库文件,因此在后续安装apk安装后,可以通过7-Zip压缩工具分时解压。即在运行应用程序后,仅解压需要加载的共享函数库文件,从而有效降低了空间的占用率。
本发明提出了一种安装包的共享函数库文件处理方法。参照图5,在本发明安装包的共享函数库文件处理方法第一实施例中,该安装包的共享函数库文件处理方法包括以下步骤:
步骤S10,获取预置编译平台生成的安装包中共享函数库文件对应的初始压缩包;
本发明实施例提供的安装包的共享函数库文件处理方法主要应用于安卓操作系统中,用于对应用程序编译流程进行控制,以生成安装包。本实施例中,该安装包是指apk安装包。上述预置编译平台为Android编译平台,在Android编译平台中通过aapt对资源文件进行编译形成二进制文件,当所有的资源文件编译完成后将打包形成apk安装包。当应用程序有共享函数库文件(即so文件)的情况下,通常采用Android编译平台内置默认的Deflate算法压缩共享函数库文件,并将共享函数库文件压缩后存储在apk安装包的libs中。本实施例中,上述初始压缩包为apk安装包的libs中共享函数库文件通过Deflate算法压缩得到的压缩文件。
步骤S20,解压所述初始压缩包得到共享函数库文件;
当获取到上述apk安装包的libs中存在初始压缩包时,可以通过对应的压缩工具对初始压缩包进行解压,以还原共享函数库文件。具体地,本实施例中,上述对应的压缩工具具体地压缩算法可以根据实际需要进行设置,在此不做进一步地限定。例如,可以采用Deflate算法,具体地,该7-Zip压缩工具应用了LZMA(Lempel-Ziv-Markov chain-Algorithm)算法,该LZMA算法是Deflate算法和LZ77算法改良和优化后的压缩算法。在其他实施例中,还可以直接采用Deflate算法对初始压缩包进行解压处理,以得到共享函数库文件。
步骤S30,调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包;
本实施例中,该预置压缩工具的形式可以根据实际实际需要进行设置,但该预置压缩工具的压缩比要大于上述Deflate算法的压缩比。该压缩比是指压缩前与压缩后的文件所占的磁盘空间比值,其中压缩比越大,压缩效果越好,压缩后的体积越小。即在本实施例中,通过上述预置压缩工具压缩后的目标压缩包小于上述初始压缩包。优选地,该预置压缩工具可以为7-Zip压缩工具,该7-Zip压缩工具中应用了LZMA算法。
步骤S40,将所述目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包。
本实施例中,上述预置位置的路径可以根据实际需要进行设置,例如,优选地,可以放在apk安装包的assets目录下。具体地,可以在压缩的过程中对是否压缩成功进行判断,当压缩出错时,则不进行压缩包替换,当成功压缩得到上述目标压缩包时,则将目标压缩包储存至apk安装包的assets目录下,然后删除初始压缩包。由于在本实施例中,在将目标压缩包储存至所述安装包的预置位置后,删除初始压缩包,从而有效保证了安装包的完整性,防止了由于在压缩得到目标压缩包时发生错误,影响后续安装该apk安装包时无法正常加载共享函数。
本发明实施例通过在编译平台生成的安装包后,获取安装包内共享函数库文件对应的初始压缩包,然后解压所述初始压缩包得到共享函数库文件;并调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包;最后将所述目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包。从而可以有效减小共享函数库文件对应压缩包的占用空间大小,因此减小了安装包的大小,进而减少传输过程中产生的流量,节省网络传输流量资源。
进一步地,参照图6,基于本发明安装包的共享函数库文件处理方法第一实施例,在本发明安装包的共享函数库文件处理方法第二实施例中,上述步骤S40之后还包括:
步骤S50,对包含所述目标压缩包的安装包进行签名处理。
本实施例中,在通过上述编译平台编译生成的安装包为Android Package(.apk)文件,该文件需要进行通过jarsigner进行签名处理后得到相应的signer.apk文件时,才能被正常安装使用。应当说明的是,对包含所述目标压缩包的安装包的签名处理方式和流程均可参照现有apk安装包的签名处理方式和流程,在此不再赘述。
进一步地,参照图7,基于本发明安装包的共享函数库文件处理方法第二实施例,在本发明安装包的共享函数库文件处理方法第三实施例中,上述步骤S50之后还包括:
步骤S60,下载安装所述签名处理后的安装包后,判断是否接收到加载共享函数库请求;若是,则执行步骤S70;若否,则结束。
步骤S70,当接收到加载共享函数请求时,判断共享函数库文件是否已经被解压;若是则执行步骤S80,若否,则在执行完上述步骤S90之后转入执行步骤S80;
步骤S80,在所述共享函数库文件中加载对应的共享函数库;
步骤S90,调用所述预置压缩工具从预置位置对所述目标压缩包进行解压处理,并将解压获得的共享函数库文件储存至预置路径下。
本实施例中,未签名的上述apk安装包经过签名处理后得到可以正常安装使用的apk安装包。当用户在下载安装apk安装包后,可以直接运行该apk安装包对应的应用程序,该应用程序要加载某个共享函数库a.so时,将生成加载共享函数请求到应用程序管理服务器,以开启进程加载对应的共享函数库a.so。当应用程序管理服务器接收到该加载共享函数请求时,将首先判断该加载共享函数请求对应的共享函数库a.so是否被解压出来,当该加载共享函数请求对应的共享函数库a.so已经被解压出来,则可以直接加载共享函数库a.so;当该加载共享函数请求对应的共享函数库a.so还未被解压出来,则可以调用上述预置压缩工具对共享函数库a.so进行解压,储存到android设备的指定路径上。
本实施例中,由于将共享函数库的解压与安装包的解压分开不同时段处理,从而将两者的解压时间打散,减少了apk安装包的安装时间。
可以理解的是,上述判断共享函数库文件是否已经被解压的判断方式可以根据实际需要进行设置,例如可以查询在android设备的指定路径上是否存在共享函数库,也可以查询在android设备的指定路径上是否存在共享函数请求对应的共享函数库a.so,在此不做进一步地限定。
可以理解的是,上述对解压后得到的共享函数库文件进行压缩时,压缩得到的目标压缩包数量可以根据实际需要进行设置。例如可以将所有的共享函数库文件放在一起压缩得到一个目标压缩包;还可以单独对每一个共享函数库文件进行压缩,以得到多个目标压缩包。以下将以两个不同的方式进行详细说明。
具体地,参照图8,基于本发明安装包的共享函数库文件处理方法第一实施例、第二实施例和第三实施例,在本发明安装包的共享函数库文件处理方法第四实施例中,上述步骤S30包括:
调用预置压缩工具将所有共享函数库文件压缩形成一目标压缩包。
例如,当解压上述初始压缩包得到5个不同的共享函数库文件,可以将该5个不同的共享函数库文件暂存到预置文件夹下,然后通过调用上述7-Zip压缩工具对该预置文件夹进行压缩处理,以得到一个目标压缩包。由于在本实施例中,采用一个目标压缩包打包所有的共享函数库文件,因此在后续安装apk安装后,仅需要通过7-Zip压缩工具进行一次解压操作即可。即在运行应用程序后首次加载共享函数库时,将会将所有的共享函数库文件解压出来。防止了后续运行应用程序时,需要解压共享函数库文件,需要等待压缩延时,从而用户的体验。
进一步地,参照图9,基于本发明安装包的共享函数库文件处理方法第一实施例、第二实施例和第三实施例,在本发明安装包的共享函数库文件处理方法第五实施例中,上述步骤S30包括:
调用预置压缩工具将所有共享函数库文件压缩,以使共享函数库文件对应形成一目标压缩包。
本发明安装包的共享函数库文件处理方法第五实施例与本发明安装包的共享函数库文件处理方法第四实施例的区别仅在于,本实施例中通过上述7-Zip压缩工具压缩共享函数库文件得到的目标压缩包为多个。例如,当解压上述初始压缩包得到5个不同的共享函数库文件,可以将该5个不同的共享函数库文件暂存到预置文件夹下,然后通过调用上述7-Zip压缩工具对该每一个共享函数库文件进行单独压缩处理,以使每一个共享函数库文件对应压缩得到一个目标压缩包。由于在本实施例中,采用一个目标压缩包打包所有的共享函数库文件,因此在后续安装apk安装后,可以通过7-Zip压缩工具分时解压。即在运行应用程序后,仅解压需要加载的共享函数库文件,从而有效降低了空间的占用率。
以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种安装包的共享函数库文件处理方法,其特征在于,所述安装包的共享函数库文件处理方法包括以下步骤:
获取预置编译平台生成的安装包;
获取所述安装包中的共享函数库文件对应的初始压缩包,其中,所述初始压缩包为使用Deflate算法压缩得到的压缩包;
解压所述初始压缩包得到共享函数库文件;
调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包;
判断所述目标压缩包是否压缩成功;
在所述目标压缩包压缩成功的情况下,将所述目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包;
在用户下载所述安装包后,在运行所述安装包对应的应用程序的情况下,确定所述应用程序要加载的共享函数库,将加载所述共享函数库的请求发送到应用程序管理服务器,以使所述应用程序管理服务器开启进程加载所述要加载的共享函数库,在所述要加载的共享函数库未被解压的情况下,解压所述共享函数库;
其中,在解压所述共享函数库与所述安装包时,在不同时段解压所述共享函数库与所述安装包。
2.如权利要求1所述的安装包的共享函数库文件处理方法,其特征在于,所述将目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包之后还包括:
对包含所述目标压缩包的安装包进行签名处理。
3.如权利要求2所述的安装包的共享函数库文件处理方法,其特征在于,所述对包含所述目标压缩包的安装包进行签名处理之后还包括:
下载安装所述签名处理后的安装包后,判断是否接收到加载共享函数库请求;
当接收到加载共享函数库请求时,判断共享函数库文件是否已经被解压;
若是,则在所述共享函数库文件中加载对应的共享函数库;
若否,则调用所述预置压缩工具从预置位置对所述目标压缩包进行解压处理,并将解压获得的共享函数库文件储存至预置路径下。
4.如权利要求1至3中任一项所述的安装包的共享函数库文件处理方法,其特征在于,所述调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包包括:
调用预置压缩工具将所有共享函数库文件压缩形成一目标压缩包。
5.如权利要求1至3任一项所述的安装包的共享函数库文件处理方法,其特征在于,所述调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包包括:
调用预置压缩工具将所有共享函数库文件压缩,以使共享函数库文件对应形成一目标压缩包。
6.一种安装包的共享函数库文件处理装置,其特征在于,所述安装包的共享函数库文件处理装置包括:
获取模块,用于获取预置编译平台生成的安装包,并获取所述安装包中的共享函数库文件对应的初始压缩包,其中,所述初始压缩包为使用Deflate算法压缩得到的压缩包;
第一解压模块,用于解压所述初始压缩包得到共享函数库文件;
压缩模块,用于调用预置压缩工具对所述共享函数库文件进行压缩得到目标压缩包;
所述装置还用于判断所述目标压缩包是否压缩成功;
所述装置还包括:处理模块,用于在所述目标压缩包压缩成功的情况下,将所述目标压缩包储存至所述安装包的预置位置,删除所述初始压缩包;
其中,所述装置还用于在用户下载所述安装包后,在运行所述安装包对应的应用程序的情况下,确定所述应用程序要加载的共享函数库,将加载所述共享函数库的请求发送到应用程序管理服务器,以使所述应用程序管理服务器开启进程加载所述要加载的共享函数库,在所述要加载的共享函数库未被解压的情况下,解压所述共享函数库;其中,在解压所述共享函数库与所述安装包时,在不同时段解压所述共享函数库与所述安装包。
7.如权利要求6所述的安装包的共享函数库文件处理装置,其特征在于,所述安装包的共享函数库文件处理装置还包括:
签名模块,用于对包含所述目标压缩包的安装包进行签名处理。
8.如权利要求7所述的安装包的共享函数库文件处理装置,其特征在于,所述安装包的共享函数库文件处理装置还包括:
第一判断模块,用于下载安装所述签名处理后的安装包后,判断是否接收到加载共享函数库请求;
第二判断模块,用于当接收到加载共享函数库请求时,判断共享函数库文件是否已经被解压;
加载模块,用于当共享函数库文件已经被解压时,在所述共享函数库文件中加载对应的共享函数库;
第二解压模块,用于当共享函数库文件未被解压时,调用所述预置压缩工具从预置位置对所述目标压缩包进行解压处理,并将解压获得的共享函数库文件储存至预置路径下。
9.如权利要求6至8中任一项所述的安装包的共享函数库文件处理装置,其特征在于,所述压缩模块具体用于,调用预置压缩工具将所有共享函数库文件压缩形成一目标压缩包。
10.如权利要求6至8中任一项所述的安装包的共享函数库文件处理装置,其特征在于,所述压缩模块具体用于,调用预置压缩工具将所有共享函数库文件压缩,以使共享函数库文件对应形成一目标压缩包。
CN201510340192.5A 2015-06-18 2015-06-18 安装包的共享函数库文件处理方法及装置 Active CN106325896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510340192.5A CN106325896B (zh) 2015-06-18 2015-06-18 安装包的共享函数库文件处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510340192.5A CN106325896B (zh) 2015-06-18 2015-06-18 安装包的共享函数库文件处理方法及装置

Publications (2)

Publication Number Publication Date
CN106325896A CN106325896A (zh) 2017-01-11
CN106325896B true CN106325896B (zh) 2021-05-11

Family

ID=57732489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510340192.5A Active CN106325896B (zh) 2015-06-18 2015-06-18 安装包的共享函数库文件处理方法及装置

Country Status (1)

Country Link
CN (1) CN106325896B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633083B (zh) * 2018-06-22 2024-06-18 北京京东尚科信息技术有限公司 代码文件处理方法、装置、电子设备及计算机可读介质
CN109831476A (zh) * 2018-12-15 2019-05-31 中国平安人寿保险股份有限公司 安装包下载方法、装置、电子设备及存储介质
CN109857454B (zh) * 2018-12-15 2023-07-18 中国平安人寿保险股份有限公司 安装包生成与缓存方法、装置、电子设备及存储介质
CN113296781A (zh) * 2021-02-01 2021-08-24 阿里巴巴集团控股有限公司 应用程序安装包文件编译构建方法、装置及电子设备
CN116263760A (zh) * 2021-12-15 2023-06-16 华为终端有限公司 文件存储方法、文件访问方法、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763269A (zh) * 2010-01-27 2010-06-30 中兴通讯股份有限公司 一种软件安装包的制作方法
CN102231117A (zh) * 2011-07-08 2011-11-02 盛乐信息技术(上海)有限公司 一种在嵌入式平台安装软件的方法和系统
CN103955375A (zh) * 2014-05-21 2014-07-30 北京安兔兔科技有限公司 一种应用安装文件的生成方法、应用的启动方法及装置
CN104156225A (zh) * 2013-05-14 2014-11-19 腾讯科技(深圳)有限公司 一种安装包的下载方法、系统及服务器
CN104657131A (zh) * 2015-01-15 2015-05-27 北京奥普维尔科技有限公司 一种软件安装包的生成系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757894B2 (en) * 2000-09-26 2004-06-29 Appstream, Inc. Preprocessed applications suitable for network streaming applications and method for producing same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763269A (zh) * 2010-01-27 2010-06-30 中兴通讯股份有限公司 一种软件安装包的制作方法
CN102231117A (zh) * 2011-07-08 2011-11-02 盛乐信息技术(上海)有限公司 一种在嵌入式平台安装软件的方法和系统
CN104156225A (zh) * 2013-05-14 2014-11-19 腾讯科技(深圳)有限公司 一种安装包的下载方法、系统及服务器
CN103955375A (zh) * 2014-05-21 2014-07-30 北京安兔兔科技有限公司 一种应用安装文件的生成方法、应用的启动方法及装置
CN104657131A (zh) * 2015-01-15 2015-05-27 北京奥普维尔科技有限公司 一种软件安装包的生成系统和方法

Also Published As

Publication number Publication date
CN106325896A (zh) 2017-01-11

Similar Documents

Publication Publication Date Title
CN106325896B (zh) 安装包的共享函数库文件处理方法及装置
JP5658283B2 (ja) アプリケーションの稼働方法、装置及びシステム
CN105138333B (zh) 基于安卓系统的apk文件压缩的方法及系统
CN108108181A (zh) 应用程序的功能更新方法、装置及计算机可读存储介质
CN110995836A (zh) 基于车联网平台的日志管理方法、设备、存储介质及装置
CN104156225B (zh) 一种安装包的下载方法、系统及服务器
US20130167133A1 (en) Method, terminal and system for upgrading software version
CN109857454B (zh) 安装包生成与缓存方法、装置、电子设备及存储介质
CN109933350B (zh) 在应用中嵌入代码的方法、装置及电子设备
CN103955375A (zh) 一种应用安装文件的生成方法、应用的启动方法及装置
CN108959122A (zh) 一种升级包下载的保存方法、装置和终端
CN109257426B (zh) 业务线资源加载方法、装置、计算机设备和存储介质
CN110765394A (zh) so文件加载方法、装置、存储介质及终端设备
CN106406923B (zh) 动态库文件的处理方法及装置
CN111562929A (zh) 补丁文件的生成方法、装置、设备及存储介质
US20240211242A1 (en) Apparatus and method for optimally updating vehicle controller
CN104158907A (zh) 应用程序文件下载方法及装置
CN110311935B (zh) 一种分享方法、分享部署系统和客户端
CN111475220B (zh) 冷启动方法、装置、电子设备及计算机存储介质
CN106325838B (zh) 应用程序编译流程的图片处理方法及装置
CN113296781A (zh) 应用程序安装包文件编译构建方法、装置及电子设备
CN106155732B (zh) 电视游戏控制器的加载方法和装置
CN113515299A (zh) 软件开发工具包sdk热升级方法、装置、设备及存储介质
CN110825406A (zh) 一种软件升级的方法及相关设备
CN110888686B (zh) 应用程序启动方法、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant