CN106657361B - 一种代码添加混淆的安卓安装包ota升级方法 - Google Patents
一种代码添加混淆的安卓安装包ota升级方法 Download PDFInfo
- Publication number
- CN106657361B CN106657361B CN201611254899.5A CN201611254899A CN106657361B CN 106657361 B CN106657361 B CN 106657361B CN 201611254899 A CN201611254899 A CN 201611254899A CN 106657361 B CN106657361 B CN 106657361B
- Authority
- CN
- China
- Prior art keywords
- installation kit
- android installation
- current version
- dictionary
- obscured
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种代码添加混淆的安卓安装包OTA升级方法,包括以下步骤:服务器目录架构搭建步骤;OTA升级步骤,包括:(11)、客户端将当前版本信息发送至服务器;(12)、服务器在本地查找到最新版本的安卓安装包,并对其进行反编译,得到反编译文件;(13)、从所述反编译文件中找到Smali文件;(14)、将所述Smali文件按照客户端当前版本所对应的字典的规则进行重新混淆;(15)、得到差分包,并将所述差分包发送至客户端;(16)、客户端接收服务器发送的差分包进行升级。本发明的升级方法,将两个版本的字典统一,大大减少了差分包的数据大小,节约了下载时间和升级时间。
Description
技术领域
本发明涉及移动通信技术领域,具体地说,是涉及一种代码添加混淆的安卓安装包OTA升级方法。
背景技术
空中下载技术(Over the Air Technology,OTA) 是一种通过无线网络进行数据下载的技术,现已被广泛应用于手机、平板电脑等设备的网络升级中。目前均是通过下载服务器端提供的针对客户端当前软件版本的差分文件并将差分文件通过打补丁的方式更新到当前软件版本中,从而实现OTA 的升级。
现有技术中为了信息安全以及安卓安装包(APK)压缩,会使用混淆技术,使用混淆后,反编译出来的代码类名和方法将使用一些毫无意义的abc等字符代替,防止其他人读取代码内容,起到保护代码的作用;同时会删除一些没有意义的代码,减小APK的大小。编译APK的同时,同时会生成一个字典,供调试使用。
添加混淆的同时,也改变了编译出的APK的内容,在做差分升级的时候,差分出来的包就很大,原因就是混淆后两者混淆规则不一定相同,代码差别比较大,所以差分包也很大。
发明内容
本发明为了解决现有代码添加混淆的安卓安装包升级时由于字典不同导致升级差分包比较大,传输时间长,升级效率低的技术问题,提出了一种代码添加混淆的安卓安装包OTA升级方法,可以解决上述问题。
为了解决上述技术问题,本发明采用以下技术方案予以实现:
一种代码添加混淆的安卓安装包OTA升级方法,包括以下步骤:
服务器目录架构搭建步骤,将同一应用各版本的安卓安装包及其对应的字典存储在服务器中;
OTA升级步骤,包括:
(11)、客户端将当前版本信息发送至服务器,其中,所述当前版本信息至少包括客户端当前版本的版本号;
(12)、服务器在本地查找到最新版本的安卓安装包和与客户端当前版本一致的安卓安装包,检查该最新版本的安卓安装包和与客户端当前版本一致的安卓安装包的代码是否进行了混淆,若均进行了混淆,则对最新版本的安卓安装包进行反编译,得到反编译文件;
(13)、从所述反编译文件中找到Smali文件;
(14)、将所述Smali文件按照客户端当前版本所对应的字典的规则进行重新混淆;
(15)、服务器将重新混淆后的最新版本的安卓安装包和所述与客户端当前版本所一致的安卓安装包进行差分,得到差分包,并将所述差分包发送至客户端;
(16)、客户端接收服务器发送的差分包进行升级,直接从当前版本升级至最新版本。
进一步的,步骤(14)中,包括以下子步骤:
(14a)、服务器在本地查找到客户端当前版本所对应的字典,为当前版本字典,服务器同时在本地查找到最新版本所对应的字典,为最新版本字典;
(14b)、建立当前版本字典-原始代码-最新版本字典之间的映射;
(14c)、根据当前版本字典-原始代码-最新版本字典之间的映射,将Smali文件中的类名以及变量名替换成为当前版本字典的规则所命名的字符,完成Smali文件的重新混淆步骤。
进一步的,步骤(14c)中,还包括至少将所述反编译文件的目录下的包名 、类名、函数名以及变量名均按照当前版本字典的规则进行替换的步骤。
进一步的,步骤(14)与步骤(15)之间,还包括将重新混淆后的最新版本按照安卓安装包原来的签名进行签名并打包的步骤。
进一步的,服务器目录架构搭建步骤中,各版本的安卓安装包的字典存储在与该字典位于同一路径下的数据库表中。
进一步的,步骤(12)中服务器采用APKTool对最新版本的安卓安装包进行反编译。
进一步的,步骤(11)中,所述当前版本信息还包括待升级安卓安装包的名称、包名、大小和校验值,所述服务器将本地与待升级安卓安装包的名称、版本号一致的安卓安装包的信息分别与客户端当前版本信息进行比对,如果比对结果一致,则继续步骤(12),否则,不继续步骤(12),并返回错误信息。
进一步的,所述校验信息包括待升级安卓安装包的大小和/或MD5值。
进一步的,步骤(11)之前还包括检测当前版本所对应的字典与最新版本所对应的字典是否一致的步骤,若两者一致,则直接将最新版本的安卓安装包与客户端当前版本一致的安卓安装包进行差分,并将差分包发送至客户端,若两者不一致,则执行步骤(11)-(16)。
进一步的,步骤(12)中,若最新版本的安卓安装包和与客户端当前版本一致的安卓安装包的代码均进行了混淆,还包括判断两者混淆文件相似度的步骤,若两者混淆文件的相似度大于预设阈值A1,则对最新版本的安卓安装包进行反编译,得到反编译文件,否则,直接将最新版本的安卓安装包和与客户端当前版本一致的安卓安装包进行差分得到差分包,其中,50%≤A1<100%。
与现有技术相比,本发明的优点和积极效果是:本发明的代码添加混淆的安卓安装包OTA升级方法,通过在服务器端,将各版本的安卓安装包及其对应的字典存储,方便字典交换,两个版本进行差分的时候,将最新版本的Smali文件按照客户端当前版本所对应的字典的规则进行重新混淆,重新混淆完成后,重新打包,进行差分,由于两个版本均采用同一字典进行混淆,大大减少了差分包的数据大小,节约了下载时间和升级时间。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所提出的代码添加混淆的安卓安装包OTA升级方法的一种实施例流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一,本实施例提出了一种代码添加混淆的安卓安装包OTA升级方法,包括以下步骤:
服务器目录架构搭建步骤,将同一应用各版本的安卓安装包及其对应的字典存储在服务器中;各版本的安卓安装包均经过相应的字典进行混淆过,其中,各版本的安卓安装包的字典可以是相同的,也可以是不同的。
OTA升级步骤,包括:
S11、客户端将当前版本信息发送至服务器,其中,当前版本信息也即当前待升级安卓安装包的版本信息,当前版本信息至少包括客户端当前版本的版本号;
S12、服务器在本地查找到最新版本的安卓安装包和与客户端当前版本一致的安卓安装包,检查该最新版本的安卓安装包和与客户端当前版本一致的安卓安装包的代码是否进行了混淆,若均进行了混淆,则对最新版本的安卓安装包进行反编译,得到反编译文件;
步骤S12中,若最新版本的安卓安装包和与客户端当前版本一致的安卓安装包的代码均未进行混淆,则将两者直接差分,得到差分包,并将所述差分包发送至客户端。本方法针对代码进行混淆的安卓安装包OTA升级尤其方便,所以对于未进行混淆的安卓安装包采用直接差分的方式升级即可。
其中,最新版本的安卓安装包和与客户端当前版本一致的安卓安装包的代码其中一个进行了混淆的情况有两种:第一种是最新版本的安卓安装包混淆,与客户端当前版本一致的安卓安装包未混淆,第二种是最新版本的安卓安装包未混淆,与客户端当前版本一致的安卓安装包混淆,对应第一种情况,对最新版本的安卓安装包进行反编译,得到反编译文件,然后与当前版本差的安卓安装进行差分,对于第二种情况,则对新版本的安卓安装包直接采用与客户端当前版本一致的安卓安装包的字典进行混淆,然后计算差分。
S13、从所述反编译文件中找到Smali文件;
步骤S12和S13目的是为了找到最新版本的安卓安装包的Smali文件,该Smali文件经过了其所对应的字典的混淆,因此,Smali文件中均是按照规则混淆后的字符。
S14、将所述Smali文件按照客户端当前版本所对应的字典的规则进行重新混淆;由于可能各版本的安卓安装包的字典是不同的,因此,为了减小差分后的数据量,本方法通过将两者的字典进行统一,从最新版本的安卓安装包和与客户端当前版本所对应的安卓安装包中,将其中一个安装包按照另外一个安装包所对应的字典的规则进行重新混淆,进而实现两者字典的统一,一旦字典统一了,相应的差分包数据量降低。
本实施例中通过将最新版本的安卓安装包的Smali文件按照客户端当前版本所对应的字典的规则进行重新混淆,目的在于减少客户端升级时的计算量,因为虽然在服务器端做差分计算时将两个安装包的字典统一了,但是,当差分包发送至客户端后,客户端是在当前版本的基础上进行升级,也就是说,客户端目前是当前版本,相对应的字典为当前版本的字典,因此,若差分包的混淆字典同样采用当前版本的字典,可以减少客户端升级时的出错率。
S15、服务器将重新混淆后的最新版本的安卓安装包和所述与客户端当前版本一致的安卓安装包进行差分,得到差分包,并将所述差分包发送至客户端;由于是完整安装包之间进行差分,因此,两个安装包之间的版本可以是跨版本。
S16、客户端接收服务器发送的差分包进行升级,直接从当前版本升级至最新版本。由于差分包是与客户端当前版本所对应的安装包以及最新版本的安装包之间的差分,因此,将客户端当前版本按照所述差分包升级后,即可直接升级至最新版本。
本实施例的代码添加混淆的安卓安装包OTA升级方法,通过在服务器端,将各版本的安卓安装包及其对应的字典存储,方便字典交换,提升了查询速度,两个版本进行差分的时候,将最新版本的Smali文件按照客户端当前版本所对应的字典的规则进行重新混淆,重新混淆完成后,重新打包,进行差分,由于两个版本均采用同一字典进行混淆,大大减少了差分包的数据大小,节约了下载时间和升级时间。
为了进一步减小计算量,由于存在各版本的安卓安装包的字典是相同的情况,或者当前版本所对应的字典与最新版本所对应的字典是相同的情况,该种情况下就无需进行字典的统一步骤,有助于减小计算量,因此,步骤S11之前还包括检测当前版本所对应的字典与最新版本所对应的字典是否一致的步骤,若两者一致,则直接将最新版本的安卓安装包与客户端当前版本一致的安卓安装包进行差分,并将差分包发送至客户端,若两者不一致,则执行步骤S11-S16,也即执行字典统一再差分计算的步骤。
为了再进一步减小计算量,对于最新版本的安卓安装包和与客户端当前版本一致的安卓安装包的代码虽然均进行了混淆,但是两者混淆后相似度较高的情况,仍然可以采用直接差分的方式进行计算差分包,由于两者的相似度较高,直接差分计算的差分包数据量不是特别大,而且能够减小计算量,因此,步骤S12中,若最新版本的安卓安装包和与客户端当前版本一致的安卓安装包的代码至少其中一个进行了混淆,还包括判断两者混淆文件相似度的步骤,若两者混淆文件的相似度大于预设阈值A1,其中,50%≤A1<100%(例如,A1可设计为80%),则对最新版本的安卓安装包进行反编译,得到反编译文件,否则,直接将最新版本的安卓安装包和与客户端当前版本一致的安卓安装包进行差分得到差分包。
关于最新版本的安卓安装包和与客户端当前版本一致的安卓安装包的相似度计算方式,目前有现成的工具diff,使用diff比较两个文件,将差异输出到一个文件,用差异文件的大小除以源文件的大小,得到的值是差异度p,相似度q=1-p。具体步骤为:
使用diff工具或者其他比较工具,将最新版本的安卓安装包的字典B和与客户端当前版本一致的安卓安装包的字典A作为输入,将差异部分输出到文件C;
两个字典的差异度p = 文件C的大小/字典A的大小;
则两文件的相似度 q = 1 –p。
作为一个优选的实施例,步骤S14中,包括以下子步骤:
S14a、服务器在本地查找到客户端当前版本所对应的字典,为当前版本字典,服务器同时在本地查找到最新版本所对应的字典,为最新版本字典;
S14b、建立当前版本字典-原始代码-最新版本字典之间的映射;
由于当前版本字典与原始代码之间有一一对应的关系,原始代码与最新版本字典之间有一一对应的关系,因此,当前版本字典与最新版本字典之间也具有一一对应的关系,根据三者关系能够建立一一对应的映射。
S14c、根据当前版本字典-原始代码-最新版本字典之间的映射,将Smali文件中的类名以及变量名替换成为当前版本字典的规则所命名的字符,完成Smali文件的重新混淆步骤。
为了防止在对客户端版本的合法性进行验证步骤中出错,步骤S14c中,还包括至少将所述反编译文件的目录下的包名、类名、函数名以及变量名均按照当前版本字典的规则进行替换的步骤。
进一步的,步骤S14与步骤S15之间,还包括将重新混淆后的最新版本按照安卓安装包原来的签名进行签名并打包的步骤。
在安卓安装包生成的时候,都会使用签名信息,一般情况下签名信息保存在服务器上。
为了方便查找,缩短查找时间,服务器目录架构搭建步骤中,各版本的安卓安装包的字典存储在与该字典位于同一路径下的数据库表中,提升了字典查询速度。
在本实施例中,步骤S12中服务器采用APKTool对最新版本的安卓安装包进行反编译。
为了提高升级效率,服务器检测当前待升级应用的版本号是否合法,步骤S11中,所述当前版本信息还包括待升级安卓安装包的名称、包名、大小和校验值,所述服务器将本地与待升级安卓安装包的名称、版本号一致的安卓安装包信息与客户端当前版本信息进行比对,其中,比对的内容至少包括安装包的包名、大小和校验值,如果比对结果一致,则继续步骤S12,否则,不继续步骤S12,并返回错误信息。比对结果不一致原因可能是用户升级过非正常途径的版本导致,或者可能存在兼容性错误,对于上述情况均不予以升级。
服务器端放置的可能是多个应用的多个版本,通过客户端将当前待升级应用名称发送给服务器,服务器相应根据当前待升级应用名称查找同一应用的相应版本。
其中,校验信息包括待升级安卓安装包的大小和/或MD5值。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
Claims (10)
1.一种代码添加混淆的安卓安装包OTA升级方法,其特征在于,包括以下步骤:
服务器目录架构搭建步骤,将同一应用各版本的安卓安装包及其对应的字典存储在服务器中;
OTA升级步骤,包括:
(11)、客户端将当前版本信息发送至服务器,其中,所述当前版本信息至少包括客户端当前版本的版本号;
(12)、服务器在本地查找到最新版本的安卓安装包和与客户端当前版本一致的安卓安装包,检查该最新版本的安卓安装包和与客户端当前版本一致的安卓安装包的代码是否进行了混淆,若均进行了混淆,则对最新版本的安卓安装包进行反编译,得到反编译文件;
(13)、从所述反编译文件中找到Smali文件;
(14)、将所述Smali文件按照客户端当前版本所对应的字典的规则进行重新混淆;
(15)、服务器将重新混淆后的最新版本的安卓安装包和所述与客户端当前版本一致的安卓安装包进行差分,得到差分包,并将所述差分包发送至客户端;
(16)、客户端接收服务器发送的差分包进行升级,直接从当前版本升级至最新版本。
2.根据权利要求1所述的代码添加混淆的安卓安装包OTA升级方法,其特征在于,步骤(14)中,包括以下子步骤:
(14a)、服务器在本地查找到客户端当前版本所对应的字典,为当前版本字典,服务器同时在本地查找到最新版本所对应的字典,为最新版本字典;
(14b)、建立当前版本字典-原始代码-最新版本字典之间的映射;
(14c)、根据当前版本字典-原始代码-最新版本字典之间的映射,将Smali文件中的类名以及变量名替换成为当前版本字典的规则所命名的字符,完成Smali文件的重新混淆步骤。
3.根据权利要求2所述的代码添加混淆的安卓安装包OTA升级方法,其特征在于,步骤(14c)中,还包括至少将所述反编译文件的目录下的包名、类名、函数名以及变量名均按照当前版本字典的规则进行替换的步骤。
4.根据权利要求2所述的代码添加混淆的安卓安装包OTA升级方法,其特征在于,步骤(14)与步骤(15)之间,还包括将重新混淆后的最新版本按照安卓安装包原来的签名进行签名并打包的步骤。
5.根据权利要求1-4任一项所述的代码添加混淆的安卓安装包OTA升级方法,其特征在于,服务器目录架构搭建步骤中,各版本的安卓安装包的字典存储在与该字典位于同一路径下的数据库表中。
6.根据权利要求1-4任一项所述的代码添加混淆的安卓安装包OTA升级方法,其特征在于,步骤(12)中服务器采用APKTool对最新版本的安卓安装包进行反编译。
7.根据权利要求1-4任一项所述的代码添加混淆的安卓安装包OTA升级方法,其特征在于,步骤(11)中,所述当前版本信息还包括待升级安卓安装包的名称、包名、大小和校验值,所述服务器将本地与待升级安卓安装包的名称、版本号一致的安卓安装包的信息分别与客户端当前版本信息进行比对,如果比对结果一致,则继续步骤(12),否则,不继续步骤(12),并返回错误信息。
8.根据权利要求7所述的代码添加混淆的安卓安装包OTA升级方法,其特征在于,所述校验信息包括待升级安卓安装包的大小和/或MD5值。
9.根据权利要求1-4任一项所述的代码添加混淆的安卓安装包OTA升级方法,其特征在于,步骤(11)之前还包括检测当前版本所对应的字典与最新版本所对应的字典是否一致的步骤,若两者一致,则直接将最新版本的安卓安装包与客户端当前版本一致的安卓安装包进行差分,并将差分包发送至客户端,若两者不一致,则执行步骤(11)-(16)。
10.根据权利要求1-4任一项所述的代码添加混淆的安卓安装包OTA升级方法,其特征在于,步骤(12)中,若最新版本的安卓安装包和与客户端当前版本一致的安卓安装包的代码均进行了混淆,还包括判断两者混淆文件相似度的步骤,若两者混淆文件的相似度不大于预设阈值A1,则对最新版本的安卓安装包进行反编译,得到反编译文件,否则,直接将最新版本的安卓安装包和与客户端当前版本一致的安卓安装包进行差分得到差分包,其中,50%≤A1<100%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611254899.5A CN106657361B (zh) | 2016-12-30 | 2016-12-30 | 一种代码添加混淆的安卓安装包ota升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611254899.5A CN106657361B (zh) | 2016-12-30 | 2016-12-30 | 一种代码添加混淆的安卓安装包ota升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106657361A CN106657361A (zh) | 2017-05-10 |
CN106657361B true CN106657361B (zh) | 2019-09-13 |
Family
ID=58837337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611254899.5A Active CN106657361B (zh) | 2016-12-30 | 2016-12-30 | 一种代码添加混淆的安卓安装包ota升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106657361B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240696A (zh) * | 2017-05-19 | 2019-01-18 | 腾讯科技(深圳)有限公司 | 一种软件更新方法及装置 |
CN109446083B (zh) * | 2018-10-23 | 2023-08-22 | 航天信息股份有限公司 | 一种持续集成方法和*** |
CN110231954B (zh) * | 2019-06-19 | 2023-06-16 | 上海卓易科技股份有限公司 | 用于安卓***ota数据的精简传输、升级方法及其存储介质 |
CN111651188B (zh) * | 2020-06-01 | 2023-06-02 | 上海艾拉比智能科技有限公司 | 差分包的数据结果确定方法、装置、设备及存储介质 |
CN116107600B (zh) * | 2023-04-13 | 2023-07-18 | 麒麟软件有限公司 | 一种Oracle数据库安装工具及其快速部署方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1809818A (zh) * | 2003-06-20 | 2006-07-26 | 创道软件有限公司 | 在产生差别文件中使用的处理软件 |
CN103207872A (zh) * | 2012-01-17 | 2013-07-17 | 深圳市快播科技有限公司 | 一种实时索引方法和服务器 |
CN103955363A (zh) * | 2014-04-08 | 2014-07-30 | 国云科技股份有限公司 | 一种程序升级安装包的制作方法 |
CN103973475A (zh) * | 2013-02-05 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 差异补丁包生成方法及下载方法、服务器、客户端 |
CN104239110A (zh) * | 2014-09-30 | 2014-12-24 | 广东欧珀移动通信有限公司 | 减少ota增量包大小的方法与装置 |
CN104965719A (zh) * | 2014-06-26 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 应用安装文件生成方法和装置 |
CN104992083A (zh) * | 2015-07-09 | 2015-10-21 | 广州视源电子科技股份有限公司 | 应用程序的代码混淆方法和*** |
CN105045631A (zh) * | 2015-07-30 | 2015-11-11 | 北京奇虎科技有限公司 | 一种升级客户端侧应用程序的方法和装置 |
CN105893093A (zh) * | 2016-03-31 | 2016-08-24 | 北京奇艺世纪科技有限公司 | 一种应用程序升级方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7676506B2 (en) * | 2003-06-20 | 2010-03-09 | Innopath Software, Inc. | Differential file compression of software image versions |
JP5335504B2 (ja) * | 2009-03-19 | 2013-11-06 | キヤノン株式会社 | アプリケーションパッケージング装置、その制御方法、プログラム |
-
2016
- 2016-12-30 CN CN201611254899.5A patent/CN106657361B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1809818A (zh) * | 2003-06-20 | 2006-07-26 | 创道软件有限公司 | 在产生差别文件中使用的处理软件 |
CN103207872A (zh) * | 2012-01-17 | 2013-07-17 | 深圳市快播科技有限公司 | 一种实时索引方法和服务器 |
CN103973475A (zh) * | 2013-02-05 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 差异补丁包生成方法及下载方法、服务器、客户端 |
CN103955363A (zh) * | 2014-04-08 | 2014-07-30 | 国云科技股份有限公司 | 一种程序升级安装包的制作方法 |
CN104965719A (zh) * | 2014-06-26 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 应用安装文件生成方法和装置 |
CN104239110A (zh) * | 2014-09-30 | 2014-12-24 | 广东欧珀移动通信有限公司 | 减少ota增量包大小的方法与装置 |
CN104992083A (zh) * | 2015-07-09 | 2015-10-21 | 广州视源电子科技股份有限公司 | 应用程序的代码混淆方法和*** |
CN105045631A (zh) * | 2015-07-30 | 2015-11-11 | 北京奇虎科技有限公司 | 一种升级客户端侧应用程序的方法和装置 |
CN105893093A (zh) * | 2016-03-31 | 2016-08-24 | 北京奇艺世纪科技有限公司 | 一种应用程序升级方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106657361A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657361B (zh) | 一种代码添加混淆的安卓安装包ota升级方法 | |
TWI687867B (zh) | 用於可信執行環境的可信應用產生及安裝方法 | |
CN102982258B (zh) | 一种对移动应用程序进行原版校验的*** | |
KR101238511B1 (ko) | 펌웨어 컴포넌트의 상태 공고 및 펌웨어 컴포넌트의 갱신 | |
CN107346252B (zh) | 应用更新方法和装置 | |
CN104965712B (zh) | 应用程序加固保护方法、装置及移动终端 | |
AU2010229053B2 (en) | Device dependent on-demand compiling and deployment of mobile applications | |
CN105786538B (zh) | 基于安卓***的软件升级方法和装置 | |
KR20180137554A (ko) | 패치 업그레이드 기반 파일 처리 방법 및 디바이스, 단말기, 및 저장 매체 | |
CN103809974B (zh) | 一种应用自动审核的方法、装置及云服务器 | |
CN103412767A (zh) | 一种应用版本的识别与升级方法以及*** | |
CN106201607A (zh) | 一种软件版本的升级方法及设备 | |
CN106933625A (zh) | 一种多源软件更新的方法及*** | |
CN107797818A (zh) | 应用程序升级方法及装置 | |
CN108647032B (zh) | 应用加载方法及装置、计算机装置和计算机可读存储介质 | |
CN105302587A (zh) | 数据更新方法及装置 | |
CN104063225B (zh) | 锁屏主题开发方法及装置 | |
CN106547576A (zh) | 配置文件的获取方法及装置 | |
CN105763626A (zh) | 适用于应用客户端支付的sdk初始化方法 | |
CN105068851A (zh) | 一种移动终端rom包的安全打包方法、***及移动终端 | |
CN105049533A (zh) | 一种终端***升级的方法及*** | |
CN107656750A (zh) | 插件更新方法及装置 | |
CN110532016B (zh) | 版本管理方法、版本更新方法和版本管理*** | |
CN113961226B (zh) | 一种软件开发工具包修复方法、终端、服务器及设备 | |
CN115509582A (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 |