[发明专利]一种Android智能终端系统软件热修复的方法在审
申请号: | 201710129346.5 | 申请日: | 2017-03-06 |
公开(公告)号: | CN107025119A | 公开(公告)日: | 2017-08-08 |
发明(设计)人: | 白智全;孙秀凯;张娜;张琦 | 申请(专利权)人: | 山东大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 济南金迪知识产权代理有限公司37219 | 代理人: | 许德山 |
地址: | 250199 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 智能 终端 系统软件 修复 方法 | ||
技术领域
本发明涉及一种Android智能终端系统软件热修复的方法,属于安卓系统技术领域。
背景技术
当Android智能终端设备(手机、平板、电视等)的系统版本在发布之后,往往有个别系统软件会在使用中出现问题,此时需要立即对该系统软件进行修复,一般做法即将修复后的安卓应用整体打包成安卓安装包,并生成OTA(Over-the-Air Technology,空中下载技术)版本。系统开发测试部门则随后对OTA版本进行测试,在测试通过后向用户推送OTA升级包,用户下载OTA升级包后手动完成安装更新。对系统软件问题的解决,某些情况下仅是修改若干代码,但仍需按上述过程生成OTA版本,继而对终端系统进行更新,实际上OTA版本绝大部分内容保持不变,这导致了不必要的系统开销和时间浪费,大大降低了用户使用体验。
中国专利文献CN106095502A公开了一种安卓应用的热修复方法。该方法包括:获取指定安卓应用的补丁包,补丁包中包括指定安卓应用中的修复后的指定类文件;当指定安卓应用启动时,加载该补丁包;当指定安卓应用需要调用指定的类文件时,从该补丁包中调用修复后的指定类文件以执行相应功能。但该方法存在以下缺陷:对于智能终端及系统提供者来讲,它无法对不同型号及不同区域终端设备的某个系统软件进行控制,比如对于某个系统软件来讲,大陆地区和港澳台地区是不同的;而终端设备型号不同,系统软件也会不同。
发明内容
为克服上述背景技术所存在的缺陷和不足,本发明提出了一种Android智能终端系统软件热修复的方法。当智能终端中系统软件出现问题时,软件工程师针对问题修改完毕后,仅生成该软件的补丁包,并将补丁包根据匹配信息匹配在服务器端。当用户打开该系统软件后,其将从服务器端把补丁包下载到终端,并判断补丁包中的匹配信息和终端的具体设备信息是否相同,若相同,系统软件在下次用户打开应用时动态加载,从而完成对软件的修复。
本发明的技术方案如下:
一种Android智能终端系统软件热修复的方法,依次通过四个模块来完成,该四个模块包括Patch文件获取模块、Patch文件匹配模块、终端下载模块和动态加载模块,该方法具体步骤如下:
1)Patch文件获取模块:
该模块输入端是两个APK,包括原APK和更新后的APK,原APK即是需要修复的原版本系统软件,更新后的APK即是已修复完成的系统软件,一般已修复完成的系统软件版本号比原系统软件版本号高1,APK文件实际可看成一个zip文件,其包括res资源文件和class.dex文件,通过差分比较可以将有差别的文件部分保存到一个HashSet集合变量中,然后通过编译打包生成Patch文件,具体步骤为:
①将原APK和更新后的APK进行差分算法比较,将有差别的文件部分保存到一个集合变量中;
②通过编译并打包可生成Patch文件;
2)Patch文件匹配模块:
在服务器端将Patch文件进行匹配,匹配信息包括终端型号、终端系统版本号、终端网络区域、Android版本及内核版本,匹配结果用flag表示,flag初始值为false,匹配成功后修改flag标识为true,服务器端将匹配信息注入到Patch文件中,然后进行Patch文件的下发,具体步骤为:
①获取Patch文件所含系统应用的信息,包括应用名称、应用包名、应用签名;
②服务器端根据匹配信息进行Patch文件下发前的匹配,包括终端型号、终端系统版本号、终端网络区域、Android版本、内核版本匹配属性;
③匹配结果用flag表示,flag初始值为false,匹配成功后修改flag标识为true;
④服务器端将匹配信息注入到Patch文件中,然后进行Patch文件的下发,将Patch文件推送至智能终端;
3)终端下载模块:
当用户打开该系统应用时,首先判断终端当前连接的网络是否为本地网络,如果否,则自动配置本地网络,如果是,则不用配置本地网络;随后再判断此时终端处理器是否处于空闲时段,当终端处理器处于空闲时段时,终端从服务器获取匹配标识flag的值和Patch文件,并在后台自动下载,具体步骤为:
①判断当前终端连接的网络是否为本地预设网络,如果是,则直接转入步骤②;如果否,则自动配置本地预设网络,然后转入步骤②;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710129346.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:摩托车前轮辋(WY125-11)
- 下一篇:开关(0040-K320L)