应用安装文件生成方法和装置的制造方法_2

文档序号:9249119阅读:来源:国知局
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再
--赘述。
[0052]图2是本发明实施例提供的一种应用安装文件生成方法的流程图。该发明实施例的执行主体为服务器,参见图2,该方法包括:
[0053]201、该服务器获取第一应用安装文件,对该第一应用安装文件进行解包,得到该第一应用安装文件对应的文件集。
[0054]其中,该第一应用安装文件用于安装第一应用,可以为APK文件,本发明实施例对该第一应用安装文件的格式不做限定。进一步地,该第一应用安装文件作为后续生成的第二应用安装文件的基础,可以由该服务器从存储的多个应用安装文件中选取,或者由该服务器专门生成用于生成其他应用安装文件的应用安装文件,本发明实施例对此不做限定。
[0055]具体地,该服务器获取该第一应用安装文件,采用APKTool (APK编译工具),对该第一应用安装文件进行解包,得到该文件集。
[0056]需要说明的是,该第一应用安装文件用于安装第一应用,该第二应用安装文件用于安装第二应用。该第一应用和该第二应用可以为不同的应用,也可以为相同应用的不同版本,本发明实施例对此不做限定。
[0057]可选地,该第一应用安装文件为经过代码混淆的文件。当该第一应用安装文件经过代码混淆时,破解者即使反编译该第一应用的代码,也无法识别该第一应用的代码,提高了破解难度,有效地保护了该第一应用的代码。进一步地,后续在该第一应用安装文件的基础上生成的第二应用安装文件也经过代码混淆,同样提高了该第二应用的破解难度,有效地保护了该第二应用的代码。
[0058]以该第一应用安装文件为APK文件为例,对该APK文件进行解包后,得到的文件集中包括以下几种文件:
[0059](I)程序全局配置文件AndroidManifest.xml,该程序全局配置文件用于描述该第一应用的名称、版本、权限、引用的库文件等信息。
[0060](2) classes, dex文件,该classes, dex文件是编译后生成的java类文件。
[0061](3)resources, arse文件,该resources, arse文件为编译后的二进制资源文件。
[0062](4)META-1NF目录,该META-1NF目录用于存放签名信息,以保证该APK文件的安全。
[0063](5)res目录,该res目录用于存放资源文件。
[0064](6) assets目录,该assets目录用于存放配置文件。
[0065](7) smali目录,该smali目录用于存放程序中所有类相应的smali文件。
[0066]202、该服务器根据待安装的第二应用与第一应用之间的差异信息,确定该文件集中待替换的第一指定文件。
[0067]其中,该差异信息用于表示该第二应用与该第一应用之间的差异,是该第二应用的应用信息中与该第一应用的应用信息不同的部分,根据该差异信息可以获知该第二应用与该第一应用的不同之处。该差异信息可以为该第二应用的应用名称、该第二应用的应用图标等等,本发明实施例对此不做限定。该服务器根据该差异信息,可以确定当在该第一应用安装文件的基础上生成该第二应用安装文件时,需要替换的第一指定文件。
[0068]在本发明实施例中,该文件集中的每个文件分别用于保存至少一种类型的应用信息,则可选地,该服务器根据该差异信息,确定该差异信息所属的类型,从该文件集中,选取用于保存该类型的应用信息的文件,作为该第一指定文件。
[0069]例如,仍以该APK文件为例,当该差异信息为应用名称时,将用于保存应用名称的程序全局配置文件AndroidManifest.xml作为该第一指定文件。
[0070]进一步可选地,该文件集中的每个文件还可以用于实现至少一个功能,则可选地,该服务器根据该差异信息,确定该差异信息所对应的功能,从该文件集中,选取用于实现该功能的文件,作为该第一指定文件。
[0071]例如,应用信息中包括显示功能、音频通话功能和视频通话功能,相应的,该文件集中的三个文件分别用于实现显示功能、音频通话功能和视频通话功能,如果该差异信息为显示界面的差异信息时,将用于实现显示功能的文件作为该第一指定文件。
[0072]需要说明的是,该第一指定文件和后续替换的第二指定文件的格式相同。而当该差异信息所属的类型不同或者对应的功能不同时,选取的该第一指定文件和该第二指定文件的格式也不同。该第一指定文件和该第二指定文件可以为smali格式的文件(如smali目录下存放的文件)、资源文件(如res目录下存放的文件)等等,本发明实施例对此不做限定。
[0073]进一步需要说明的是,本发明实施例以一个第一指定文件为例进行说明,实际上,该服务器根据该差异信息,可能会确定多个第一指定文件,并在后续过程中,以该差异信息对应的多个第二指定文件替换该多个第一指定文件,本发明实施例对该第一指定文件和该第二指定文件的数目均不做限定。
[0074]203、该服务器采用ant命令,将该差异信息写入该第一指定文件中,得到第二指定文件,将该文件集中的第一指定文件替换为该第二指定文件,得到替换后的文件集。
[0075]在本发明实施例中,该服务器可以根据该差异信息,直接在该第一指定文件上进行修改,采用ant命令,将该差异信息写入该第一指定文件中,得到该第二指定文件,以该第二指定文件替换该第一指定文件。
[0076]基于步骤202的举例,该服务器采用ant命令,将该第二应用的应用名称写入该程序全局配置文件AndroidManifest.xml中,替换掉该第一应用的应用名称,得到该第二指定文件。
[0077]当然,该第二指定文件也可以由该第二应用的开发者或者用户上传至该服务器,或者由该服务器预先根据该第二应用的差异信息和其他的应用信息生成,本发明实施例对获取该第二指定文件的方式不做限定。
[0078]204、该服务器将替换后的文件集打包成第二应用安装文件。
[0079]可选地,该服务器采用该APKTool工具,将替换后的文件集打包成第二应用安装文件。进一步可选地,该服务器获取该第二应用安装文件的名称,根据该名称,将替换后的文件集打包成该第二应用安装文件。该第二应用安装文件的名称可以由该第二应用的开发者预先确定,或者由该服务器根据该第二应用安装文件的版本信息生成,如该第一应用安装文件的名称为“Applicat1nl.0”,当该服务器确定该第一应用与该第二应用为相同应用的不同应用版本时,生成该第二应用安装文件的名称“AppliCat1n2.0”,本发明实施例对此不做限定。
[0080]在本发明实施例中,在替换之前,该文件集中包括该第一应用对应的第一指定文件和多个其他文件,当该服务器将该第一指定文件替换为该第二指定文件时,该替换后的文件集中包括该第二指定文件和该多个其他文件,即原文件集中包括的除该第一指定文件以外的文件并未发生变化。该替换后的文件集中包括该第二指定文件,且该替换后的文件集与该第二应用安装文件对应,也即是,该第二指定文件为该第二应用安装文件对应文件集中的文件。
[0081]205、该服务器根据该第二应用的来源信息,对该第二应用安装文件进行签名,得到第三应用安装文件。
[0082]其中,该来源信息用于表示该第二应用的开发者,该服务器根据该第二应用的来源信息以及用户输入的密码,生成该来源信息对应的证书,根据该证书的密码,对该第二应用安装文
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1