CN105988834B - 一种应用安装包生成、安装方法及装置 - Google Patents
一种应用安装包生成、安装方法及装置 Download PDFInfo
- Publication number
- CN105988834B CN105988834B CN201510075226.2A CN201510075226A CN105988834B CN 105988834 B CN105988834 B CN 105988834B CN 201510075226 A CN201510075226 A CN 201510075226A CN 105988834 B CN105988834 B CN 105988834B
- Authority
- CN
- China
- Prior art keywords
- installation
- file
- kit
- decompression
- electronic equipment
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种应用安装包生成、安装方法及装置,其中生成方法包括:准备安装依赖文件和安装文件;生成安装包执行文件;调用电子设备的本地压缩程序,压缩所述安装依赖文件,将压缩后的安装依赖文件追加到所述安装包执行文件中;及调用所述电子设备的本地压缩程序,压缩所述安装文件,将压缩后的安装文件追加到安装包执行文件中;其中,携带有压缩后的安装依赖文件和安装文件的安装包执行文件,为所生成的应用安装包。本发明中,安装包中并不需携带解压缩功能,使得所生成的安装包的数据量将大幅减小,安装包的生成时间减短,提高了安装包的生成效率。
Description
技术领域
本发明涉及应用安装技术领域,具体涉及一种应用安装包生成、安装方法及装置。
背景技术
应用安装包是应用进行安装时的所有文件的集合,通过在电子设备(如手机,笔记本电脑等)上运行应用安装包,应用的所有文件将释放到电子设备磁盘上,完成应用在电子设备上的装载。
目前,安装包的生成方式主要依赖NSIS(Nullsoft Scriptable Install System)工具实现,NSIS工具是一个开源的在电子设备操作系统(如Windows系统)下进行应用的安装程序制作的程序,NSIS工具通过其脚本语言来描述安装程序的行为和逻辑,提供应用的安装、卸载、系统设置、文件解压缩等功能。
本发明的发明人在研究过程中发现:现有采用NSIS工具等生成安装包的方式,需要在安装包中携带安装包的解压缩功能,这使得安装包的数据量较大,使得安装包的生成时间和后续在电子设备上运行时的时间均较长。
发明内容
有鉴于此,本发明实施例提供一种应用安装包生成、安装方法及装置,以解决现有安装包的生成方式,需要在安装包中携带安装包的解压缩功能,所带来的安装包的数据量较大,使得安装包的生成时间和后续在电子设备上运行时的时间均较长的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种应用安装包生成方法,应用于电子设备,所述方法包括:
准备安装依赖文件和安装文件;
生成安装包执行文件;
调用所述电子设备的本地压缩程序,压缩所述安装依赖文件,将压缩后的安装依赖文件追加到所述安装包执行文件中;及调用所述电子设备的本地压缩程序,压缩所述安装文件,将压缩后的安装文件追加到安装包执行文件中;
其中,携带有压缩后的安装依赖文件和安装文件的安装包执行文件,为所生成的应用安装包。
本发明实施例还提供一种应用安装包安装方法,应用于电子设备,所述方法包括:
确定需运行的安装包;
调用所述电子设备的本地解压程序,从所述安装包中解压安装依赖文件;
根据所述安装依赖文件创建解压线程;
执行所述解压线程,从所述安装包中解压安装文件;
在所述解压线程执行完成后,在电子设备的安装目录中写入所解压出的安装文件。
本发明实施例还提供一种应用安装包安装装置,应用于电子设备,所述装置包括:
运行确定模块,用于确定需运行的安装包;
第一解压模块,用于调用所述电子设备的本地解压程序,从所述安装包中解压安装依赖文件;
创建模块,用于根据所述安装依赖文件创建解压线程;
解压执行模块,用于执行所述解压线程,从所述安装包中解压安装文件;
安装模块,用于在所述解压线程执行完成后,在电子设备的安装目录中写入所解压出的安装文件。
基于上述技术方案,本发明实施例提供的应用安装包生成方法,可在生成安装包执行文件后,调用电子设备的本地压缩程序,压缩安装依赖文件,将压缩后的安装依赖文件追加到所述安装包执行文件中;并调用电子设备的本地压缩程序,压缩安装文件,将压缩后的安装文件追加到安装包执行文件中,实现应用安装包的生成。可以看出,本发明实施例提供的应用安装包生成方法,是通过电子设备的本地压缩程序,实现的安装依赖文件和安装文件的压缩,安装包中并不需携带解压缩功能,所生成的安装包的数据量将大幅减小,使得安装包的生成时间减短,提高安装包的生成效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的应用安装包生成方法的流程图;
图2为本发明实施例提供的应用安装包生成方法的另一流程图;
图3为本发明实施例提供的应用安装包安装方法的流程图;
图4为本发明实施例提供的应用安装包安装方法的另一流程图;
图5为本发明实施例提供的安装主线程和解压线程的处理逻辑示意图;
图6为本发明实施例提供的动画效果呈现示意图;
图7为本发明实施例提供的双击安装包的图标的示意图;
图8为本发明实施例提供的安装界面的示意图;
图9为本发明实施例提供的安装图标的点击示意图;
图10为本发明实施例提供的安装图标的另一点击示意图;
图11为本发明实施例提供的应用安装包生成装置的结构框图;
图12为本发明实施例提供的应用安装包生成装置的另一结构框图;
图13为本发明实施例提供的压缩追加模块的结构框图;
图14为本发明实施例提供的电子设备的硬件结构框图;
图15为本发明实施例提供的应用安装包安装装置的结构框图;
图16为本发明实施例提供的应用安装包安装装置的另一结构框图;
图17为本发明实施例提供的安装模块的结构框图;
图18为本发明实施例提供的电子设备的另一硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的应用安装包生成方法的流程图,该方法可应用于电子设备,包括笔记本电脑、PC(个人计算机)等具有安装包制作能力的电子设备,也可以为服务器等网络侧设备;参照图1,该方法可以包括:
步骤S100、准备安装依赖文件和安装文件;
安装文件为应用运行所需的文件,安装包在运行安装时,安装文件将释放到电子设备的磁盘上,完成应用在电子设备上的装载;
安装依赖文件为本发明实施例所设置的辅助安装包安装的文件,如在安装包运行安装时,显示安装界面、拷贝安装文件等;本发明实施例提供的安装依赖文件还具有一个作用:在安装包运行安装时,创建解压线程,以在安装包运行安装时从安装包中解压出安装文件。
可选的,本发明实施例可通过C++程序制作安装依赖文件,而不采用NSIS工具;C++是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言,其是一种静态数据类型检查的,支持多重编程的通用程序设计语言,它支持过程化程序设计,数据抽象,面向对象设计,制作图标等多种程序设计风格。
步骤S110、生成安装包执行文件;
安装包执行文件可以为安装包运行安装时,进行安装行为和逻辑指示的文件;一种可选的安装包执行文件的形式为安装包PE(Portable Executable,可移植的可执行体)文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件可以是Windows操作系统下的程序文件(可能是间接被执行,如DLL);
可选的,本发明实施例可通过C++程序制作安装包执行文件,如通过C++程序制作安装包PE文件。
步骤S120、调用所述电子设备的本地压缩程序,压缩所述安装依赖文件,将压缩后的安装依赖文件追加到所述安装包执行文件中;及调用所述电子设备的本地压缩程序,压缩所述安装文件,将压缩后的安装文件追加到安装包执行文件中。
可选的,本地压缩程序可以为7-Zip压缩程序,7-Zip为基于GNU次要公共许可协议(Lesser General Public License)之下发布的一款开放源码的压缩解压程序;该7-Zip压缩程序可由C++程序实现;显然,本地压缩程序也可以为其他的压缩程序,7-Zip压缩程序仅为一种可选方式;
在压缩安装依赖文件后,本发明实施例可将压缩后的安装依赖文件合并到安装包执行文件中,实现安装依赖文件至安装包执行文件中的追加;具体的,安装包执行文件中可设置安装依赖文件的追加位置,压缩后的安装依赖文件可追加到该追加位置上;
可选的,安装包执行文件中也可设置安装文件的追加位置,压缩后的安装文件可追加到该追加位置上;
可选的,本发明实施例也可采用C++程序实现缩后的安装依赖文件和安装文件至安装包执行文件中的追加;
在安装包执行文件中追加压缩后的安装依赖文件和安装文件后,所得到的具有压缩后的安装依赖文件和安装文件的安装包执行文件,即为本发明实施例所生成的应用安装包。
本发明实施例提供的应用安装包生成方法,可在生成安装包执行文件后,调用电子设备的本地压缩程序,压缩安装依赖文件,将压缩后的安装依赖文件追加到所述安装包执行文件中;并调用电子设备的本地压缩程序,压缩安装文件,将压缩后的安装文件追加到安装包执行文件中,实现应用安装包的生成。可以看出,本发明实施例提供的应用安装包生成方法,是通过电子设备的本地压缩程序,实现的安装依赖文件和安装文件的压缩,安装包中并不需携带解压缩功能,所生成的安装包的数据量将大幅减小,使得安装包的生成时间减短,提高安装包的生成效率。
可选的,图1所示方法中,“调用所述电子设备的本地压缩程序,压缩所述安装依赖文件,将压缩后的安装依赖文件追加到所述安装包执行文件中”的步骤,可先于“调用所述电子设备的本地压缩程序,压缩所述安装文件,将压缩后的安装文件追加到安装包执行文件中”的步骤;
即,本发明实施例提供的应用安装包生成方法还可以为:准备安装依赖文件和安装文件;生成安装包执行文件;调用所述电子设备的本地压缩程序,压缩所述安装依赖文件,将压缩后的安装依赖文件追加到所述安装包执行文件中;调用所述电子设备的本地压缩程序,压缩所述安装文件,将压缩后的安装文件追加到携带有压缩后的安装依赖文件的安装包执行文件中。
可选的,对于不同应用的安装包,安装包中所携带的安装文件是不同的,为便于准确确定安装包中的安装文件,本发明实施例可通过配置文件描述安装文件,在压缩安装文件和将压缩后的安装文件追加到安装包执行文件中时,本发明实施例可通过安装包的配置文件所指定的安装文件进行压缩和追加。
基于此,本发明实施例提供的应用安装包生成方法可添加配置文件的生成步骤:生成安装包执行文件对应的配置文件,该配置文件中可携带需追加到安装包执行文件中的安装文件的描述信息。该步骤可在执行应用安装包生成方法前预先执行,也可在生成安装包执行文件时执行。
可选的,图2示出了本发明实施例提供的应用安装包生成方法的另一流程图,参照图2,该方法可以包括:
步骤S200、准备安装依赖文件和安装文件;
步骤S210、生成安装包执行文件;
步骤S220、调用所述电子设备的本地压缩程序,压缩所述安装依赖文件,将压缩后的安装依赖文件追加到所述安装包执行文件中;及调取所述安装包执行文件对应的配置文件,调用所述本地压缩程序,将所述配置文件携带的描述信息所指定的安装文件进行压缩,将压缩后的安装文件追加到安装包执行文件中。
可选的,配置文件可以是一个xml(Extensible Markup Language,可扩展标记语言)文件,其中可存在描述安装包执行文件所携带的安装文件的信息。
可选的,本发明实施例提供的应用安装包生成方法,可由C++语音编程实现,包括安装依赖文件和安装文件的制作,安装包执行文件的生成,本地压缩程序的实现,及文件(安装依赖文件和安装文件)至安装包执行文件中的追加等。
本发明实施例提供的应用安装包生成方法,是通过电子设备的本地压缩程序,实现的安装依赖文件和安装文件的压缩,所生成的安装包的数据量将大幅减小,使得安装包的生成时间减短,提高安装包的生成效率。
下面对本发明实施例提供的应用安装包安装方法进行介绍,下文描述的应用安装包安装方法基于前文描述的应用安装包生成方法。
图3为本发明实施例提供的应用安装包安装方法的流程图,该方法可以应用于电子设备,如手机、平板电脑、笔记本电脑、PC等可安装应用的电子设备中;参照图3,该方法可以包括:
步骤S300、确定需运行的安装包;
可选的,需运行的安装包为触发了运行指令的安装包;如用户可触发电子设备中所存储的安装包的运行指令,如点击电子设备中所存储的安装包的运行图标、双击电子设备中所存储的安装包的图标等,实现需运行的安装包的确定;可选的,电子设备也可在正在下载的安装包,下载完成时,自动触发下载完成的安装包的运行指令,从而实现需运行的安装包的确定。
步骤S310、调用所述电子设备的本地解压程序,从所述安装包中解压安装依赖文件;
可选的,本地解压程序可以为7-Zip解压程序,可由C++程序实现;在解压安装依赖文件时,本发明实施例可识别安装包中的安装依赖文件的追加位置,从而确定到该追加位置上所追加的压缩后的安装依赖文件,进而通过本地解压程序对该压缩后的安装依赖文件进行解压。
步骤S320、根据所述安装依赖文件创建解压线程;
安装依赖文件可用于辅助安装包的安装,如在安装包运行安装时,显示安装界面、拷贝安装文件等;本发明实施例提供的安装依赖文件还可具有创建解压线程的作用,该安装依赖文件被解压出来后,将创建一个用于解压安装文件的线程。
步骤S330、执行所述解压线程,从所述安装包中解压安装文件;
可选的,解压线程独立于应用安装包安装时的主线程;通过所创建的解压线程,本发明实施例可调取所述电子设备本地存储的解压程序(如7-Zip解压程序),从所述安装包中解压安装文件;具体的,可识别安装包中的安装文件的追加位置,从而确定到该追加位置上所追加的压缩后的安装文件,进而通过本地解压程序对该压缩后的安装文件进行解压。
步骤S340、在所述解压线程执行完成后,在电子设备的安装目录中写入所解压出的安装文件。
可选的,安装目录可以由用户指定,也可为预定的电子设备安装目录(如电子设备默认的安装目录等)。
可选的,步骤S330的执行通过解压线程完成,而步骤S300、S310、S320和S340的执行由安装主线程执行,解压线程和安装主线程可以为两个并行的线程。
本发明实施例提供的应用安装包安装方法,可通过电子设备的本地解压程序实现安装依赖文件的解压,并通过安装依赖文件所创建的解压线程,实现安装文件的解压,安装包中无需携带解压功能,因此安装包的安装数据量将大幅减小,使得安装包的安装时间将加快,提高安装包的安装效率。
可选的,安装依赖文件还可用于辅助安装界面的显示,安装文件至安装目录的拷贝等。图4示出了本发明实施例提供的应用安装包安装方法的另一流程图,图5示出了对应的安装主线程和解压线程的处理逻辑示意图,结合图4和图5所示,该方法可以包括:
步骤S400、确定需运行的安装包;
步骤S410、调用所述电子设备的本地解压程序,从所述安装包中解压安装依赖文件,将解压出的安装依赖文件保存到所述电子设备指定的临时目录中;
相比于图3所示方法,本发明实施例还可在从所述安装包中解压安装依赖文件后,将解压出的安装依赖文件保存到所述电子设备指定的临时目录中。
步骤S420、根据所述安装依赖文件创建解压线程;
步骤S430、执行所述解压线程,从所述安装包中解压安装文件,将解压出的安装文件保存到所述电子设备指定的临时目录中;
相比图3所示方法,本发明实施例还可在执行所述解压线程,从所述安装包中解压安装文件后,将解压出的安装文件保存到所述电子设备指定的临时目录中。
步骤S440、显示安装界面;
可选的,可通过安装依赖文件辅助安装界面的显示,所显示的安装界面可以设置有安装目录的选取框,用户通过该选取框可选定安装文件在电子设备中的安装目录,如对于PC而言,用户选取的安装目录可以为“E:\office\QQBrowser”等;该选取框的初始安装目录可以为电子设备预先设定的安装目录,如对于PC而言,初始安装目录可以为“C:\ProgramFiles\Tencent\QQBrowser”等。
步骤S450、检测到用户点击安装界面中的安装图标对应的操作;
可选的,安装界面可显示触发安装包进行安装的安装图标,用户点击该安装图标后,可触发安装包的安装;
步骤S460、判断解压线程是否执行完成,若否,执行步骤S460,若是,执行步骤S470;
在本发明实施例中,触发安装包的安装后,需等待解压线程执行完成后再执行具体的安装包安装。
步骤S470、将所述临时目录中保存的安装文件拷贝到所述安装目录中。
可以看出,本发明实施例可在显示安装界面后,若检测到用户点击安装界面中的安装图标对应的操作,则在所述解压线程执行完成后,将所述临时目录中保存的安装文件拷贝到所述安装目录中;其中,安装目录为预先设定的,或,用户通过所述安装界面所选定的。
可选的,在将临时目录中保存的安装文件拷贝到安装目录的过程中,安装界面可以动画效果呈现,安装文件拷贝到安装目录中的完成百分比;如图6所示示意。
下面对本发明实施例提供的应用安装包安装方法的一个应用例进行介绍:
以在PC上进行QQ浏览器(一个浏览器的产品名称)的安装为例,PC可下载QQ浏览器的安装包;
在下载了QQ浏览器的安装包后,用户可双击该安装包的图标,触发QQ浏览器的安装包的运行,如图7所示;
PC可调用本地的7-Zip解压程序,从QQ浏览器的安装包中解压出安装依赖文件,将解压出的安装依赖文件保存至临时目录中,并根据安装依赖文件创建解压线程,同时在电子设备的显示界面上显示安装界面,如图8所示;
PC执行解压线程,调取本地的7-Zip解压程序从安装包中解压安装文件,并将解压出的安装文件保存临时目录中;若期间,用户通过安装界面选取了安装目录后点击了安装图标,如图9所示,或者,用户在安装界面显示后,直接点击了安装图标(对应安装目录为电子设备预先设定的情况),如图10所示;则由于安装文件还未解压完成,PC将等待安装文件解压完成后,再从电子设备的临时目录中将保存的安装文件拷贝到安装目录中,这个拷贝的过程的完成百分比,将以动画效果呈现,如图6所示;
PC将安装文件拷贝到安装目录中后,QQ浏览器在PC上的安装完成,用户可通过点击PC界面所显示的QQ浏览器图标实现QQ浏览器的运行。
本发明实施例提供的应用安装包安装方法,可通过电子设备的本地解压程序实现安装依赖文件的解压,并通过安装依赖文件所创建的解压线程,实现安装文件的解压,安装包中无需携带解压功能,因此安装包的数据量将大幅减小,使得安装包的安装时间将加快,提高安装包的安装效率。
下面对本发明实施例提供的应用安装包生成装置进行介绍,下文描述的应用安装包生成装置可与上文描述的应用安装包生成方法相互对应参照。
图11为本发明实施例提供的应用安装包生成装置的结构框图,应用安装包生成装置可应用于电子设备,参照图11,该应用安装包生成装置可以包括:
准备模块100,用于准备安装依赖文件和安装文件;
执行文件生成模块110,用于生成安装包执行文件;
压缩追加模块120,用于调用所述电子设备的本地压缩程序,压缩所述安装依赖文件,将压缩后的安装依赖文件追加到所述安装包执行文件中;及调用所述电子设备的本地压缩程序,压缩所述安装文件,将压缩后的安装文件追加到安装包执行文件中。
其中,携带有压缩后的安装依赖文件和安装文件的安装包执行文件,为所生成的应用安装包。
可选的,准备模块100可具体用于通过C++程序制作安装依赖文件;执行文件生成模块110可具体用于通过C++程序制作安装包PE文件。
图12为本发明实施例提供的应用安装包生成装置的另一结构框图,结合图11和图12所示,该应用安装包生成装置还可以包括:
配置文件生成模块130,用于生成所述安装包执行文件对应的配置文件,所述配置文件携带需追加到所述安装包执行文件中的安装文件的描述信息。
可选的,图13示出了本发明实施例提供的压缩追加模块120的一种可选结构,参照图13,压缩追加模块120可以包括:
第一调取压缩单元121,用于调取所述安装包执行文件对应的配置文件,调用所述本地压缩程序,将所述配置文件携带的描述信息所指定的安装文件进行压缩;
第一追加单元122,用于将压缩后的安装文件追加到所述安装包执行文件中。
本发明实施例还提供一种电子设备,该电子设备可以包括上述所述的应用安装包生成装置。
图14示出了本发明实施例提供的电子设备的硬件结构框图,参照图14,电子设备可以包括:处理器1,通信接口2,存储器3和通信总线4;
其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1,用于执行程序;
存储器3,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,程序可具体用于:
准备安装依赖文件和安装文件;
生成安装包执行文件;
调用所述电子设备的本地压缩程序,压缩所述安装依赖文件,将压缩后的安装依赖文件追加到所述安装包执行文件中;及调用所述电子设备的本地压缩程序,压缩所述安装文件,将压缩后的安装文件追加到安装包执行文件中;
其中,携带有压缩后的安装依赖文件和安装文件的安装包执行文件,为所生成的应用安装包。
下面对本发明实施例提供的应用安装包安装装置进行介绍,下文描述的应用安装包安装装置可与上文描述的应用安装包安装方法相互对应参照。
图15为本发明实施例提供的应用安装包安装装置的结构框图,该应用安装包安装装置可应用于电子设备,参照图15,该应用安装包安装装置可以包括:
运行确定模块200,用于确定需运行的安装包;
第一解压模块210,用于调用所述电子设备的本地解压程序,从所述安装包中解压安装依赖文件;
创建模块220,用于根据所述安装依赖文件创建解压线程;
解压执行模块230,用于执行所述解压线程,从所述安装包中解压安装文件;
安装模块240,用于在所述解压线程执行完成后,在电子设备的安装目录中写入所解压出的安装文件。
可选的,解压执行模块230可具体用于,执行所述解压线程,以调取所述电子设备本地存储的解压程序,从所述安装包中解压安装文件。
可选的,图16示出了本发明实施例提供的应用安装包安装装置的另一结构框图,结合图15和图16所示,该应用安装包安装装置还可以包括:
第一保存模块250,用于从所述安装包中解压安装依赖文件后,将解压出的安装依赖文件保存到所述电子设备指定的临时目录中;
第二保存模块260,用于在执行所述解压线程,从所述安装包中解压安装文件后,将解压出的安装文件保存到所述电子设备指定的临时目录中;
界面显示模块270,用于显示安装界面。
对应的,图17示出了本发明实施例提供的安装模块240的一种可选结构,参照图17,安装模块240可以包括:
拷贝单元241,用于若检测到用户点击安装界面中的安装图标对应的操作,则在所述解压线程执行完成后,将所述临时目录中保存的安装文件拷贝到所述安装目录中。
可选的,本发明实施例中,安装目录可以为电子设备预先设定的,或,用户通过所述安装界面所选定的。
本发明实施例还提供一种电子设备,包括上述所述的应用安装包安装装置。
图18示出了本发明实施例提供的电子设备的另一硬件结构框图,参照图18,电子设备可以包括:处理器1’,通信接口2’,存储器3’和通信总线4’;
其中处理器1’、通信接口2’、存储器3’通过通信总线4’完成相互间的通信;
可选的,通信接口2’可以为通信模块的接口,如GSM模块的接口;
处理器1’,用于执行程序;
存储器3’,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1’可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3’可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,程序可具体用于:
确定需运行的安装包;
调用所述电子设备的本地解压程序,从所述安装包中解压安装依赖文件;
根据所述安装依赖文件创建解压线程;
执行所述解压线程,从所述安装包中解压安装文件;
在所述解压线程执行完成后,在电子设备的安装目录中写入所解压出的安装文件。
本发明在生成应用安装包时,可通过电子设备的本地压缩程序,实现安装依赖文件和安装文件的压缩,安装包中并不需携带解压缩功能;在安装安装包时,可通过电子设备的本地解压程序实现安装依赖文件的解压,并通过安装依赖文件所创建的解压线程,实现安装文件的解压,安装包中无需携带解压功能;因此安装包的数据量将大幅减小,使得安装包生成时间和安装时间均都加快,提高安装包的生成和安装效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种应用安装包生成方法,其特征在于,应用于电子设备,所述方法包括:
准备安装依赖文件和安装文件,所述安装依赖文件用于在安装包运行安装时,创建解压线程,以在安装包运行安装时从安装包中解压出安装文件;
生成安装包执行文件;
调用所述电子设备的本地压缩程序,压缩所述安装依赖文件,将压缩后的安装依赖文件追加到所述安装包执行文件中;及调用所述电子设备的本地压缩程序,压缩所述安装文件,将压缩后的安装文件追加到安装包执行文件中;
其中,携带有压缩后的安装依赖文件和安装文件的安装包执行文件,为所生成的应用安装包。
2.根据权利要求1所述的应用安装包生成方法,其特征在于,所述准备安装依赖文件包括:
通过C++程序制作安装依赖文件;
所述生成安装包执行文件包括:
通过C++程序制作安装包PE文件。
3.根据权利要求1或2所述的应用安装包生成方法,其特征在于,所述方法还包括:生成所述安装包执行文件对应的配置文件,所述配置文件携带需追加到所述安装包执行文件中的安装文件的描述信息;
所述调用所述电子设备的本地压缩程序,压缩所述安装文件包括:
调取所述安装包执行文件对应的配置文件;
调用所述本地压缩程序,将所述配置文件携带的描述信息所指定的安装文件进行压缩。
4.一种应用安装包安装方法,其特征在于,应用于电子设备,所述方法包括:
确定需运行的安装包;
调用所述电子设备的本地解压程序,从所述安装包中解压安装依赖文件;
根据所述安装依赖文件创建解压线程;
执行所述解压线程,从所述安装包中解压安装文件;
在所述解压线程执行完成后,在电子设备的安装目录中写入所解压出的安装文件。
5.根据权利要求4所述的应用安装包安装方法,其特征在于,所述执行所述解压线程,从所述安装包中解压安装文件包括:
执行所述解压线程,以调取所述电子设备本地存储的解压程序,从所述安装包中解压安装文件。
6.根据权利要求4或5所述的应用安装包安装方法,其特征在于,所述从所述安装包中解压安装依赖文件后还包括:将解压出的安装依赖文件保存到所述电子设备指定的临时目录中;
所述执行所述解压线程,从所述安装包中解压安装文件后还包括:将解压出的安装文件保存到所述电子设备指定的临时目录中。
7.根据权利要求6所述的应用安装包安装方法,其特征在于,在创建解压线程后还包括:
显示安装界面;
所述在电子设备的安装目录中写入所解压出的安装文件包括:
若检测到用户点击安装界面中的安装图标对应的操作,则在所述解压线程执行完成后,将所述临时目录中保存的安装文件拷贝到所述安装目录中。
8.根据权利要求7所述的应用安装包安装方法,其特征在于,所述安装目录为预先设定的,或,用户通过所述安装界面所选定的。
9.一种应用安装包安装装置,其特征在于,应用于电子设备,所述装置包括:
运行确定模块,用于确定需运行的安装包;
第一解压模块,用于调用所述电子设备的本地解压程序,从所述安装包中解压安装依赖文件;
创建模块,用于根据所述安装依赖文件创建解压线程;
解压执行模块,用于执行所述解压线程,从所述安装包中解压安装文件;
安装模块,用于在所述解压线程执行完成后,在电子设备的安装目录中写入所解压出的安装文件。
10.根据权利要求9所述的应用安装包安装装置,其特征在于,所述解压执行模块具体用于,执行所述解压线程,以调取所述电子设备本地存储的解压程序,从所述安装包中解压安装文件。
11.根据权利要求9或10所述的应用安装包安装装置,其特征在于,还包括:
第一保存模块,用于从所述安装包中解压安装依赖文件后,将解压出的安装依赖文件保存到所述电子设备指定的临时目录中;
第二保存模块,用于在执行所述解压线程,从所述安装包中解压安装文件后,将解压出的安装文件保存到所述电子设备指定的临时目录中;
界面显示模块,用于显示安装界面;
所述安装模块包括:
拷贝单元,用于若检测到用户点击安装界面中的安装图标对应的操作,则在所述解压线程执行完成后,将所述临时目录中保存的安装文件拷贝到所述安装目录中。
12.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至3任一项所述的应用安装包生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510075226.2A CN105988834B (zh) | 2015-02-12 | 2015-02-12 | 一种应用安装包生成、安装方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510075226.2A CN105988834B (zh) | 2015-02-12 | 2015-02-12 | 一种应用安装包生成、安装方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105988834A CN105988834A (zh) | 2016-10-05 |
CN105988834B true CN105988834B (zh) | 2019-11-19 |
Family
ID=57041899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510075226.2A Active CN105988834B (zh) | 2015-02-12 | 2015-02-12 | 一种应用安装包生成、安装方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105988834B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528229B (zh) * | 2016-11-03 | 2019-07-30 | 北京像素软件科技股份有限公司 | 一种游戏热更新方法及装置 |
CN106528268A (zh) * | 2016-11-07 | 2017-03-22 | 国云科技股份有限公司 | 一种云平台windows系统的软件应用包制作方法 |
CN106843974A (zh) * | 2017-01-24 | 2017-06-13 | 广东欧珀移动通信有限公司 | Apk的安装方法、装置及终端 |
CN106775916B (zh) * | 2017-02-17 | 2020-02-28 | 北京金山安全软件有限公司 | 减小应用安装包的方法、装置及电子设备 |
CN108519884B (zh) * | 2017-02-27 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 一种应用程序安装包更新方法、融合方法及相关装置 |
CN110032501B (zh) * | 2019-04-01 | 2023-04-25 | 北京奇艺世纪科技有限公司 | 一种app安装包的处理方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314365A (zh) * | 2011-09-08 | 2012-01-11 | 北京新媒传信科技有限公司 | 一种安装包制作方法和工具 |
CN102981871A (zh) * | 2012-11-06 | 2013-03-20 | 深圳市同洲电子股份有限公司 | 应用程序的安装方法、装置和终端 |
CN103577225A (zh) * | 2013-10-22 | 2014-02-12 | 北京奇虎科技有限公司 | 一种软件安装方法和装置 |
CN103677876A (zh) * | 2012-09-12 | 2014-03-26 | 中兴通讯股份有限公司 | 一种软件安装包制作安装方法、设备及系统 |
CN103914312A (zh) * | 2012-12-31 | 2014-07-09 | 联想(北京)有限公司 | 应用程序的处理方法、装置及电子设备 |
-
2015
- 2015-02-12 CN CN201510075226.2A patent/CN105988834B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314365A (zh) * | 2011-09-08 | 2012-01-11 | 北京新媒传信科技有限公司 | 一种安装包制作方法和工具 |
CN103677876A (zh) * | 2012-09-12 | 2014-03-26 | 中兴通讯股份有限公司 | 一种软件安装包制作安装方法、设备及系统 |
CN102981871A (zh) * | 2012-11-06 | 2013-03-20 | 深圳市同洲电子股份有限公司 | 应用程序的安装方法、装置和终端 |
CN103914312A (zh) * | 2012-12-31 | 2014-07-09 | 联想(北京)有限公司 | 应用程序的处理方法、装置及电子设备 |
CN103577225A (zh) * | 2013-10-22 | 2014-02-12 | 北京奇虎科技有限公司 | 一种软件安装方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105988834A (zh) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105988834B (zh) | 一种应用安装包生成、安装方法及装置 | |
CN105138382B (zh) | 一种Android系统升级的方法及终端 | |
CN103530156B (zh) | 动态加载和调用程序的方法及装置 | |
CN111459715A (zh) | 应用异常恢复 | |
US9678767B2 (en) | Unified extensible firmware interface (UEFI) driver and protocol | |
US20140075422A1 (en) | Method for dynamically transforming the bytecode of java virtual machine bootstrap classes | |
JP2009529720A5 (zh) | ||
CN106055368B (zh) | 应用更新方法和装置 | |
CN111427596B (zh) | 一种软件升级的方法、装置及终端设备 | |
CN103365644A (zh) | 一种扩展软件功能的方法及装置 | |
WO2005024628A2 (en) | Tri-phase boot process in electronic devices | |
WO2017193885A1 (zh) | 一种应用启动方法及装置 | |
US20040015960A1 (en) | Method for loading and executing an application in an embedded environment | |
CN109933350B (zh) | 在应用中嵌入代码的方法、装置及电子设备 | |
WO2018032653A1 (zh) | 一种Java卡应用的功能实现方法及装置 | |
CN110597564A (zh) | 一种安装包构建和业务组件加载方法、装置、终端设备 | |
CN110554998B (zh) | 一种通过替换函数内部指令的钩子方法、装置、终端及存储介质 | |
CN114895935A (zh) | 刷写车辆ecu的方法、装置、电子设备及存储介质 | |
CN115145605A (zh) | 一种车载应用软件升级方法、系统、电子设备及存储介质 | |
CN106528206A (zh) | 应用的启动控制方法、装置和加固应用安装包的装置 | |
CN112799691A (zh) | 一种应用安装包的处理方法、装置、设备及介质 | |
CN111294377B (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN109522174B (zh) | 控制adb使能的方法、装置、终端及存储介质 | |
CN103729224A (zh) | 基于开放平台的应用加载方法及装置 | |
CN110889116A (zh) | 一种广告拦截方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |