[发明专利]一种代码添加混淆的安卓安装包OTA升级方法有效
申请号: | 201611254899.5 | 申请日: | 2016-12-30 |
公开(公告)号: | CN106657361B | 公开(公告)日: | 2019-09-13 |
发明(设计)人: | 尹左水;桑圣杰 | 申请(专利权)人: | 歌尔科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06F8/658 |
代理公司: | 青岛联智专利商标事务所有限公司 37101 | 代理人: | 王艳珍 |
地址: | 266104 山东省青岛*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 添加 混淆 安装 ota 升级 方法 | ||
本发明公开了一种代码添加混淆的安卓安装包OTA升级方法,包括以下步骤:服务器目录架构搭建步骤;OTA升级步骤,包括:(11)、客户端将当前版本信息发送至服务器;(12)、服务器在本地查找到最新版本的安卓安装包,并对其进行反编译,得到反编译文件;(13)、从所述反编译文件中找到Smali文件;(14)、将所述Smali文件按照客户端当前版本所对应的字典的规则进行重新混淆;(15)、得到差分包,并将所述差分包发送至客户端;(16)、客户端接收服务器发送的差分包进行升级。本发明的升级方法,将两个版本的字典统一,大大减少了差分包的数据大小,节约了下载时间和升级时间。
技术领域
本发明涉及移动通信技术领域,具体地说,是涉及一种代码添加混淆的安卓安装包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)、建立当前版本字典-原始代码-最新版本字典之间的映射;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于歌尔科技有限公司,未经歌尔科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611254899.5/2.html,转载请声明来源钻瓜专利网。