CN104965719B - 应用安装文件生成方法和装置 - Google Patents

应用安装文件生成方法和装置 Download PDF

Info

Publication number
CN104965719B
CN104965719B CN201410298066.3A CN201410298066A CN104965719B CN 104965719 B CN104965719 B CN 104965719B CN 201410298066 A CN201410298066 A CN 201410298066A CN 104965719 B CN104965719 B CN 104965719B
Authority
CN
China
Prior art keywords
file
application
installation
installation file
specified
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
CN201410298066.3A
Other languages
English (en)
Other versions
CN104965719A (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 CN201410298066.3A priority Critical patent/CN104965719B/zh
Publication of CN104965719A publication Critical patent/CN104965719A/zh
Application granted granted Critical
Publication of CN104965719B publication Critical patent/CN104965719B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种应用安装文件生成方法和装置,属于网络技术领域。该方法包括:获取第一应用安装文件,该第一应用安装文件用于安装第一应用;对该第一应用安装文件进行解包,得到该第一应用安装文件对应的文件集;根据待安装的第二应用与该第一应用之间的差异信息,确定该文件集中待替换的第一指定文件;在该文件集中,将该第一指定文件替换为第二指定文件,得到替换后的文件集,该第二指定文件为该第二应用对应的文件;将该替换后的文件集打包成第二应用安装文件。本发明通过在第一应用安装文件的基础上,进行解包、替换文件和打包的过程,得到第二应用安装文件,无需进行编译,节省了生成应用安装文件的时间,提高了生成效率。

Description

应用安装文件生成方法和装置
技术领域
本发明涉及网络技术领域,特别涉及一种应用安装文件生成方法和装置。
背景技术
APK(Android Application Package,安卓应用安装包)是应用于Android(安卓)平台上的一种文件格式,将APK文件传到Android手机中,即可直接进行安装。
生成APK文件的具体过程如下:通过ant脚本,对*.Java类文件进行编译,得到*.class文件,将*.class文件打包成class.dex文件,再将class.dex文件打包成APK文件。
在生成APK文件的过程中,要通过ant脚本进行编译,耗费时间过长,生成APK文件的效率很低。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种应用安装文件生成方法和装置。所述技术方案如下:
第一方面,提供了一种应用安装文件生成方法,所述方法包括:
获取第一应用安装文件,所述第一应用安装文件用于安装第一应用;
对所述第一应用安装文件进行解包,得到所述第一应用安装文件对应的文件集;
根据待安装的第二应用与所述第一应用之间的差异信息,确定所述文件集中待替换的第一指定文件;
在所述文件集中,将所述第一指定文件替换为第二指定文件,得到替换后的文件集,所述第二指定文件为所述第二应用对应的文件;
将所述替换后的文件集打包成第二应用安装文件,所述第二应用安装文件用于安装所述第二应用。
第二方面,提供了一种应用安装文件生成装置,所述装置包括:
第一获取模块,用于获取第一应用安装文件,所述第一应用安装文件用于安装第一应用;
解包模块,用于对所述第一应用安装文件进行解包,得到所述第一应用安装文件对应的文件集;
指定文件确定模块,用于根据待安装的第二应用与所述第一应用之间的差异信息,确定所述文件集中待替换的第一指定文件;
替换模块,用于在所述文件集中,将所述第一指定文件替换为第二指定文件,得到替换后的文件集,所述第二指定文件为所述第二应用对应的文件;
打包模块,用于将所述替换后的文件集打包成第二应用安装文件,所述第二应用安装文件用于安装所述第二应用。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的方法和装置,通过在生成第二应用的应用安装文件时,根据待安装的第二应用与该第一应用之间的差异信息,确定该第一应用对应的待替换的第一指定文件和该第二应用对应的第二指定文件,在第一应用安装文件的基础上,进行解包、替换文件和打包的过程,得到第二应用安装文件,无需进行编译,节省了生成应用安装文件的时间,提高了生成效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用安装文件生成方法的流程图;
图2是本发明实施例提供的一种应用安装文件生成方法的流程图;
图3是本发明实施例提供的一种应用安装文件生成方法的流程示意图;
图4是本发明实施例提供的一种应用安装文件生成装置结构示意图;
图5是本发明实施例提供的一种服务器结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种应用安装文件生成方法的流程图,参见图1,该方法包括:
101、获取第一应用安装文件,该第一应用安装文件用于安装第一应用。
102、对该第一应用安装文件进行解包,得到该第一应用安装文件对应的文件集。
103、根据待安装的第二应用与该第一应用之间的差异信息,确定该文件集中待替换的第一指定文件。
104、在该文件集中,将该第一指定文件替换为第二指定文件,得到替换后的文件集,该第二指定文件为该第二应用对应的文件。
105、将该替换后的文件集打包成第二应用安装文件,该第二应用安装文件用于安装该第二应用。
本发明实施例提供的方法,通过在生成第二应用的应用安装文件时,根据待安装的第二应用与该第一应用之间的差异信息,确定该第一应用对应的待替换的第一指定文件和该第二应用对应的第二指定文件,在第一应用安装文件的基础上,进行解包、替换文件和打包的过程,得到第二应用安装文件,无需进行编译,节省了生成应用安装文件的时间,提高了生成效率。
可选地,该根据待安装的第二应用与该第一应用之间的差异信息,确定该文件集中待替换的第一指定文件包括:
根据该差异信息,确定该差异信息所属的类型;
从该文件集中,选取用于保存该类型的应用信息的文件,作为该第一指定文件,该文件集中的每个文件用于保存至少一种类型的应用信息。
可选地,该根据待安装的第二应用与该第一应用之间的差异信息,确定该文件集中待替换的第一指定文件包括:
根据该差异信息中的功能差异信息,从该文件集中,选取用于实现该功能差异信息对应的功能的文件,作为第一指定文件。
可选地,该将该第一指定文件替换为第二指定文件之前,该方法还包括:
采用ant命令,将该差异信息写入该第一指定文件中,得到该第二指定文件。
可选地,该第一指定文件和该第二指定文件的格式相同,该第一指定文件和该第二指定文件包括smali格式的文件和资源文件中的至少一项。
可选地,该差异信息包括应用图标和应用名称中的至少一项。
可选地,该将替换后的文件集打包成第二应用安装文件之后,该方法包括:
根据该第二应用的来源信息,对该第二应用安装文件进行签名,得到第三应用安装文件。
可选地,该对该第二应用安装文件进行签名,得到第三应用安装文件之后,该方法还包括:
将该第三应用安装文件发送给终端,使得该终端安装该第三应用安装文件;或,
将该第三应用安装文件发送给终端,使得该终端获取与该第三应用安装文件的签名相同的终端侧应用安装文件,以该第三应用安装文件替换该终端侧应用安装文件,安装该第三应用安装文件。
可选地,该将该替换后的文件集打包成第二应用安装文件包括:
获取该第二应用安装文件的名称;
根据该名称,将替换文件后的文件集打包成该第二应用安装文件。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图2是本发明实施例提供的一种应用安装文件生成方法的流程图。该发明实施例的执行主体为服务器,参见图2,该方法包括:
201、该服务器获取第一应用安装文件,对该第一应用安装文件进行解包,得到该第一应用安装文件对应的文件集。
其中,该第一应用安装文件用于安装第一应用,可以为APK文件,本发明实施例对该第一应用安装文件的格式不做限定。进一步地,该第一应用安装文件作为后续生成的第二应用安装文件的基础,可以由该服务器从存储的多个应用安装文件中选取,或者由该服务器专门生成用于生成其他应用安装文件的应用安装文件,本发明实施例对此不做限定。
具体地,该服务器获取该第一应用安装文件,采用APKTool(APK编译工具),对该第一应用安装文件进行解包,得到该文件集。
需要说明的是,该第一应用安装文件用于安装第一应用,该第二应用安装文件用于安装第二应用。该第一应用和该第二应用可以为不同的应用,也可以为相同应用的不同版本,本发明实施例对此不做限定。
可选地,该第一应用安装文件为经过代码混淆的文件。当该第一应用安装文件经过代码混淆时,破解者即使反编译该第一应用的代码,也无法识别该第一应用的代码,提高了破解难度,有效地保护了该第一应用的代码。进一步地,后续在该第一应用安装文件的基础上生成的第二应用安装文件也经过代码混淆,同样提高了该第二应用的破解难度,有效地保护了该第二应用的代码。
以该第一应用安装文件为APK文件为例,对该APK文件进行解包后,得到的文件集中包括以下几种文件:
(1)程序全局配置文件AndroidManifest.xml,该程序全局配置文件用于描述该第一应用的名称、版本、权限、引用的库文件等信息。
(2)classes.dex文件,该classes.dex文件是编译后生成的java类文件。
(3)resources.arsc文件,该resources.arsc文件为编译后的二进制资源文件。
(4)META-INF目录,该META-INF目录用于存放签名信息,以保证该APK文件的安全。
(5)res目录,该res目录用于存放资源文件。
(6)assets目录,该assets目录用于存放配置文件。
(7)smali目录,该smali目录用于存放程序中所有类相应的smali文件。
202、该服务器根据待安装的第二应用与第一应用之间的差异信息,确定该文件集中待替换的第一指定文件。
其中,该差异信息用于表示该第二应用与该第一应用之间的差异,是该第二应用的应用信息中与该第一应用的应用信息不同的部分,根据该差异信息可以获知该第二应用与该第一应用的不同之处。该差异信息可以为该第二应用的应用名称、该第二应用的应用图标等等,本发明实施例对此不做限定。该服务器根据该差异信息,可以确定当在该第一应用安装文件的基础上生成该第二应用安装文件时,需要替换的第一指定文件。
在本发明实施例中,该文件集中的每个文件分别用于保存至少一种类型的应用信息,则可选地,该服务器根据该差异信息,确定该差异信息所属的类型,从该文件集中,选取用于保存该类型的应用信息的文件,作为该第一指定文件。
例如,仍以该APK文件为例,当该差异信息为应用名称时,将用于保存应用名称的程序全局配置文件AndroidManifest.xml作为该第一指定文件。
进一步可选地,该文件集中的每个文件还可以用于实现至少一个功能,则可选地,该服务器根据该差异信息,确定该差异信息所对应的功能,从该文件集中,选取用于实现该功能的文件,作为该第一指定文件。
例如,应用信息中包括显示功能、音频通话功能和视频通话功能,相应的,该文件集中的三个文件分别用于实现显示功能、音频通话功能和视频通话功能,如果该差异信息为显示界面的差异信息时,将用于实现显示功能的文件作为该第一指定文件。
需要说明的是,该第一指定文件和后续替换的第二指定文件的格式相同。而当该差异信息所属的类型不同或者对应的功能不同时,选取的该第一指定文件和该第二指定文件的格式也不同。该第一指定文件和该第二指定文件可以为smali格式的文件(如smali目录下存放的文件)、资源文件(如res目录下存放的文件)等等,本发明实施例对此不做限定。
进一步需要说明的是,本发明实施例以一个第一指定文件为例进行说明,实际上,该服务器根据该差异信息,可能会确定多个第一指定文件,并在后续过程中,以该差异信息对应的多个第二指定文件替换该多个第一指定文件,本发明实施例对该第一指定文件和该第二指定文件的数目均不做限定。
203、该服务器采用ant命令,将该差异信息写入该第一指定文件中,得到第二指定文件,将该文件集中的第一指定文件替换为该第二指定文件,得到替换后的文件集。
在本发明实施例中,该服务器可以根据该差异信息,直接在该第一指定文件上进行修改,采用ant命令,将该差异信息写入该第一指定文件中,得到该第二指定文件,以该第二指定文件替换该第一指定文件。
基于步骤202的举例,该服务器采用ant命令,将该第二应用的应用名称写入该程序全局配置文件AndroidManifest.xml中,替换掉该第一应用的应用名称,得到该第二指定文件。
当然,该第二指定文件也可以由该第二应用的开发者或者用户上传至该服务器,或者由该服务器预先根据该第二应用的差异信息和其他的应用信息生成,本发明实施例对获取该第二指定文件的方式不做限定。
204、该服务器将替换后的文件集打包成第二应用安装文件。
可选地,该服务器采用该APKTool工具,将替换后的文件集打包成第二应用安装文件。进一步可选地,该服务器获取该第二应用安装文件的名称,根据该名称,将替换后的文件集打包成该第二应用安装文件。该第二应用安装文件的名称可以由该第二应用的开发者预先确定,或者由该服务器根据该第二应用安装文件的版本信息生成,如该第一应用安装文件的名称为“Application1.0”,当该服务器确定该第一应用与该第二应用为相同应用的不同应用版本时,生成该第二应用安装文件的名称“Application2.0”,本发明实施例对此不做限定。
在本发明实施例中,在替换之前,该文件集中包括该第一应用对应的第一指定文件和多个其他文件,当该服务器将该第一指定文件替换为该第二指定文件时,该替换后的文件集中包括该第二指定文件和该多个其他文件,即原文件集中包括的除该第一指定文件以外的文件并未发生变化。该替换后的文件集中包括该第二指定文件,且该替换后的文件集与该第二应用安装文件对应,也即是,该第二指定文件为该第二应用安装文件对应文件集中的文件。
205、该服务器根据该第二应用的来源信息,对该第二应用安装文件进行签名,得到第三应用安装文件。
其中,该来源信息用于表示该第二应用的开发者,该服务器根据该第二应用的来源信息以及用户输入的密码,生成该来源信息对应的证书,根据该证书的密码,对该第二应用安装文件进行签名,得到该第三应用安装文件。
另外,该服务器还可以预先生成多个开发者对应的证书,当该服务器生成该第二应用安装文件时,根据该第二应用的来源信息,确定该来源信息对应的证书,根据该确定的证书,对该第二应用安装文件进行签名,得到该第三应用安装文件。本发明实施例对进行签名的方式不做限定。
基于步骤201的举例,META-INF目录用于存放签名信息,该服务器对该第二应用安装文件进行签名,生成该第二应用对应的新签名信息,将该新签名信息存放在该META-INF目录中,以替换旧签名信息。
206、终端向该服务器发送对该第二应用的下载请求。
在本发明实施例中,该服务器生成该第三应用安装文件后,即可发布该第三应用安装文件,此时,终端可以触发对该第二应用的下载请求,请求下载该第三应用安装文件。当该服务器接收到该终端对该第二应用的下载请求时,向该终端发送该第三应用安装文件,以便该终端安装该第三应用安装文件。
207、当该服务器接收到终端对该第二应用的下载请求时,向该终端发送该第三应用安装文件。
208、当该终端接收到该第三应用安装文件时,获取与该第三应用安装文件的签名相同的终端侧应用安装文件,以该第三应用安装文件替换该终端侧应用安装文件,安装该第三应用安装文件。
在本发明实施例中,该服务器发布的该第三应用安装文件可以认为是最新版本的应用安装文件。当该终端接收到该第三应用安装文件时,判断该终端中是否包括与该第三应用安装文件的签名相同的终端侧应用安装文件,如果包括,表示该终端已安装了旧版本的该第二应用,则该终端以该第三应用安装文件替换该终端侧应用安装文件,安装该第三应用安装文件,以安装该新版本的第二应用。如果不包括,表示该终端未安装该第二应用,则该终端安装该第三应用安装文件即可。
需要说明的是,实验表明,与现有的生成应用安装文件的方法相比,采用本发明实施例提供的方法生成应用安装文件时,可以节省50%的时间,大大提高了生成效率。
本发明实施例提供的方法,通过在生成第二应用的应用安装文件时,根据待安装的第二应用与该第一应用之间的差异信息,确定该第一应用对应的待替换的第一指定文件和该第二应用对应的第二指定文件,在该第一应用安装文件的基础上,进行解包、替换文件和打包的过程,得到第二应用安装文件,无需进行编译,节省了生成应用安装文件的时间,提高了生成效率。
图3是本发明实施例提供的一种应用安装文件生成方法的流程示意图,参见图3,将以该第一应用安装文件为Old.apk、该第一指定文件为Old.smali为例,对该第二应用安装文件New.apk的生成过程进行介绍:
301、对Old.apk文件进行解包,得到文件集,该文件集中包括Old.smali文件和其他文件。
302、获取该第二应用对应的New.smali文件,将该文件集中的Old.smali文件替换为New.smali文件。
303、将替换后的文件集打包成New.apk文件。
图4是本发明实施例提供的一种应用安装文件生成装置结构示意图,参见图4,该装置包括:
第一获取模块401,用于获取第一应用安装文件,该第一应用安装文件用于安装第一应用;
解包模块402,用于对该第一应用安装文件进行解包,得到该第一应用安装文件对应的文件集;
指定文件确定模块403,用于根据待安装的第二应用与该第一应用之间的差异信息,确定该文件集中待替换的第一指定文件;
替换模块404,用于在该文件集中,将该第一指定文件替换为第二指定文件,得到替换后的文件集,该第二指定文件为该第二应用对应的文件;
打包模块405,用于将该替换后的文件集打包成第二应用安装文件,该第二应用安装文件用于安装该第二应用。
本发明实施例提供的装置,通过在生成第二应用的应用安装文件时,根据待安装的第二应用与该第一应用之间的差异信息,确定该第一应用对应的待替换的第一指定文件和该第二应用对应的第二指定文件,在该第一应用安装文件的基础上,进行解包、替换文件和打包的过程,得到第二应用安装文件,无需进行编译,节省了生成应用安装文件的时间,提高了生成效率。
可选地,该指定文件确定模块403包括:
类型确定单元,用于根据该差异信息,确定该差异信息所属的类型;
第一文件确定单元,用于从该文件集中,选取用于保存该类型的应用信息的文件,作为该第一指定文件,该文件集中的每个文件用于保存至少一种类型的应用信息。
可选地,该指定文件确定模块403包括:
第二文件确定单元,用于根据该差异信息,从该文件集中,选取用于实现该差异信息对应的功能的文件,作为第一指定文件。
可选地,该装置还包括:
写入模块,用于采用ant命令,将该差异信息写入该第一指定文件中,得到该第二指定文件。
可选地,该第一指定文件和该第二指定文件的格式相同,该第一指定文件和该第二指定文件包括smali格式的文件和资源文件中的至少一项。
可选地,该差异信息包括应用图标和应用名称中的至少一项。
可选地,该装置还包括:
签名模块,用于根据该第二应用的来源信息,对该第二应用安装文件进行签名,得到第三应用安装文件。
可选地,该装置还包括:
第一发送模块,用于将该第三应用安装文件发送给终端,使得该终端安装该第三应用安装文件;或,
第二发送模块,用于将该第三应用安装文件发送给终端,使得该终端获取与该第三应用安装文件的签名相同的终端侧应用安装文件,以该第三应用安装文件替换该终端侧应用安装文件,安装该第三应用安装文件。
可选地,该打包模块405包括:
名称获取单元,用于获取该第二应用安装文件的名称;
打包单元,用于根据该名称,将替换后的文件集打包成该第二应用安装文件。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的应用安装文件生成装置在生成应用安装文件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用安装文件生成装置与应用安装文件生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本发明实施例提供的一种服务器结构示意图,该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。
服务器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中所述的由服务器所执行的步骤可以基于该图5所示的服务器结构。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种应用安装文件生成方法,其特征在于,所述方法包括:
获取第一应用安装文件,所述第一应用安装文件用于安装第一应用,所述第一应用安装文件为经过代码混淆的文件;
对所述第一应用安装文件进行解包,得到所述第一应用安装文件对应的文件集;
根据待安装的第二应用与所述第一应用之间的差异信息,确定所述差异信息所属的类型,所述第一应用和所述第二应用为不同的应用;
从所述文件集中,选取用于保存所述类型的应用信息的文件,作为第一指定文件,所述文件集中的每个文件用于保存至少一种类型的应用信息;
在所述文件集中,将所述差异信息写入所述第一指定文件中,得到第二指定文件,将所述第一指定文件替换为所述第二指定文件,得到替换后的文件集,所述第二指定文件为所述第二应用对应的文件;
将所述替换后的文件集打包成第二应用安装文件,所述第二应用安装文件用于安装所述第二应用。
2.根据权利要求1所述的方法,其特征在于,所述第一指定文件和所述第二指定文件的格式相同,所述第一指定文件和所述第二指定文件包括smali格式的文件和资源文件中的至少一项。
3.根据权利要求1所述的方法,其特征在于,所述差异信息包括应用图标和应用名称中的至少一项。
4.根据权利要求1所述的方法,其特征在于,所述将所述替换后的文件集打包成第二应用安装文件之后,所述方法包括:
根据所述第二应用的来源信息,对所述第二应用安装文件进行签名,得到第三应用安装文件。
5.根据权利要求4所述的方法,其特征在于,所述对所述第二应用安装文件进行签名,得到第三应用安装文件之后,所述方法还包括:
将所述第三应用安装文件发送给终端,使得所述终端安装所述第三应用安装文件;或,
将所述第三应用安装文件发送给终端,使得所述终端获取与所述第三应用安装文件的签名相同的终端侧应用安装文件,以所述第三应用安装文件替换所述终端侧应用安装文件,安装所述第三应用安装文件。
6.根据权利要求1所述的方法,其特征在于,所述将所述替换后的文件集打包成第二应用安装文件包括:
获取所述第二应用安装文件的名称;
根据所述名称,将替换后的文件集打包成所述第二应用安装文件。
7.一种应用安装文件生成装置,其特征在于,所述装置包括:
第一获取模块,用于获取第一应用安装文件,所述第一应用安装文件用于安装第一应用,所述第一应用安装文件为经过代码混淆的文件;
解包模块,用于对所述第一应用安装文件进行解包,得到所述第一应用安装文件对应的文件集;
指定文件确定模块,用于根据待安装的第二应用与所述第一应用之间的差异信息,确定所述差异信息所属的类型,所述第一应用和所述第二应用为不同的应用;从所述文件集中,选取用于保存所述类型的应用信息的文件,作为第一指定文件,所述文件集中的每个文件用于保存至少一种类型的应用信息;
替换模块,用于在所述文件集中,将所述差异信息写入所述第一指定文件中,得到第二指定文件,将所述第一指定文件替换为所述第二指定文件,得到替换后的文件集,所述第二指定文件为所述第二应用对应的文件;
打包模块,用于将所述替换后的文件集打包成第二应用安装文件,所述第二应用安装文件用于安装所述第二应用。
8.根据权利要求7所述的装置,其特征在于,所述第一指定文件和所述第二指定文件的格式相同,所述第一指定文件和所述第二指定文件包括smali格式的文件和资源文件中的至少一项。
9.根据权利要求7所述的装置,其特征在于,所述差异信息包括应用图标和应用名称中的至少一项。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
签名模块,用于根据所述第二应用的来源信息,对所述第二应用安装文件进行签名,得到第三应用安装文件。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第一发送模块,用于将所述第三应用安装文件发送给终端,使得所述终端安装所述第三应用安装文件;或,
第二发送模块,用于将所述第三应用安装文件发送给终端,使得所述终端获取与所述第三应用安装文件的签名相同的终端侧应用安装文件,以所述第三应用安装文件替换所述终端侧应用安装文件,安装所述第三应用安装文件。
12.根据权利要求7所述的装置,其特征在于,所述打包模块包括:
名称获取单元,用于获取所述第二应用安装文件的名称;
打包单元,用于根据所述名称,将替换后的文件集打包成所述第二应用安装文件。
CN201410298066.3A 2014-06-26 2014-06-26 应用安装文件生成方法和装置 Active CN104965719B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410298066.3A CN104965719B (zh) 2014-06-26 2014-06-26 应用安装文件生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410298066.3A CN104965719B (zh) 2014-06-26 2014-06-26 应用安装文件生成方法和装置

Publications (2)

Publication Number Publication Date
CN104965719A CN104965719A (zh) 2015-10-07
CN104965719B true CN104965719B (zh) 2018-07-06

Family

ID=54219754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410298066.3A Active CN104965719B (zh) 2014-06-26 2014-06-26 应用安装文件生成方法和装置

Country Status (1)

Country Link
CN (1) CN104965719B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106657361B (zh) * 2016-12-30 2019-09-13 歌尔科技有限公司 一种代码添加混淆的安卓安装包ota升级方法
CN108897562B (zh) * 2018-06-27 2022-08-09 腾讯科技(深圳)有限公司 安装包更新方法、装置、介质以及设备
CN109840091A (zh) * 2018-12-12 2019-06-04 珠海西山居互动娱乐科技有限公司 一种基于Unity手游的资源动态替换出包的方法及其装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110788A (zh) * 2006-07-20 2008-01-23 阿里巴巴公司 升级客户端软件的方法及系统
CN102707977A (zh) * 2012-05-17 2012-10-03 江苏中科梦兰电子科技有限公司 一种基于Android应用软件的增量升级方法
CN103002024A (zh) * 2012-11-21 2013-03-27 用友软件股份有限公司 应用程序升级系统和应用程序升级方法
CN103713928A (zh) * 2013-12-31 2014-04-09 优视科技有限公司 增量文件生成方法、应用程序安装文件更新方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613875B2 (en) * 2004-12-29 2009-11-03 Intel Corporation Apparatus and method for incremental package deployment
CN103853574B (zh) * 2012-12-06 2015-09-16 腾讯科技(深圳)有限公司 一种软件升级的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110788A (zh) * 2006-07-20 2008-01-23 阿里巴巴公司 升级客户端软件的方法及系统
CN102707977A (zh) * 2012-05-17 2012-10-03 江苏中科梦兰电子科技有限公司 一种基于Android应用软件的增量升级方法
CN103002024A (zh) * 2012-11-21 2013-03-27 用友软件股份有限公司 应用程序升级系统和应用程序升级方法
CN103713928A (zh) * 2013-12-31 2014-04-09 优视科技有限公司 增量文件生成方法、应用程序安装文件更新方法及装置

Also Published As

Publication number Publication date
CN104965719A (zh) 2015-10-07

Similar Documents

Publication Publication Date Title
CN110622129B (zh) 使用软件容器用于加速数据分析应用程序开发和部署的各方面的方法、系统和门户
US10142106B2 (en) System and method for securing sensitive data
KR101471589B1 (ko) 공통중간언어 기반 프로그램을 위한 보안 제공 방법
CN104680039B (zh) 一种应用程序安装包的数据保护方法及装置
CN108229112B (zh) 一种保护应用程序、应用程序的运行方法以及装置
US20140109072A1 (en) Application wrapping for application management framework
CN104346184A (zh) 应用打包装置及方法
CN110442327B (zh) 一种应用程序构建方法、装置、服务器
KR101695639B1 (ko) 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템
CN104636122B (zh) 一种能力组件的共享方法和设备
Bartel et al. Improving privacy on android smartphones through in-vivo bytecode instrumentation
WO2020119037A1 (zh) 一种身份验证配置方法、装置及计算机可读存储介质
CN104965719B (zh) 应用安装文件生成方法和装置
US10057331B2 (en) Automatic abstraction of flow of control in a distributed virtualization platform
CN104572054A (zh) 一种能力调用方法和设备
CN110928571A (zh) 业务程序开发方法和装置
CN108985756A (zh) Se应用处理方法、用户终端以及服务器
JP2017199359A (ja) モデル駆動開発を使用するモバイルベースアプリケーションを開発するシステムおよび方法
CN113127361A (zh) 应用程序的开发方法、装置、电子设备和存储介质
CN112363771B (zh) 应用程序的处理方法及相关产品
Bhardwaj et al. Serving mobile apps: A slice at a time
KR101863325B1 (ko) 역공학 방지 방법 및 장치
CN104965720B (zh) 应用安装方法和装置
CN108595169B (zh) 一种可视化编程方法、云端服务器及存储介质
CN110109717A (zh) 一种安卓插件的加载控制方法、装置和计算机设备

Legal Events

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