[发明专利]在移动终端安装或更新应用程序的方法和移动终端有效
| 申请号: | 201510670237.5 | 申请日: | 2015-10-13 |
| 公开(公告)号: | CN105159732B | 公开(公告)日: | 2018-08-03 |
| 发明(设计)人: | 马晓波;刘云鹏;胡超博;吴磊 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
| 主分类号: | G06F8/65 | 分类号: | G06F8/65 |
| 代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 王书彪;刘艳芬 |
| 地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 移动 终端 安装 更新 应用程序 方法 | ||
本发明公开了一种在移动终端安装或更新应用程序的方法和移动终端。该方法包括:根据移动终端的请求,将应用程序的安装文件发送给所述移动终端,其中所述安装文件包含两个代码文件和外壳程序,所述两个代码文件分别适用于不同版本的操作系统;在所述安装文件被所述移动终端的操作系统加载时,由所述外壳程序判断所述移动终端的操作系统的版本;以及根据判断结果执行所述两个代码文件中的一个。根据该方法,可有效地解决了兼容性问题,又不会明显地增加应用程序的加载时间,不影响用户体验。而且,这种方式对原应用程序的改动较小,易于调试和验证。
技术领域
本发明涉及移动终端,具体涉及一种在移动终端安装或更新应用程序的方法和移动终端。
背景技术
随着用于智能手机的Android系统的演化,其v5.0版本(apilevel21)强制生效了诸多安全机制。例如,ASLR(Address Space Layout Randomization)旨在通过随机组织包含代码段、栈、堆和库等进程关键数据区的地址空间定位,从而防范应用程序的缓冲区溢出攻击。为此采用动态链接的应用程序,必须按照位置无关方式(Position IndependentExecutable,即PIE)进行编译和链接(GCC编译器选项-PIE和-fPIE),否则该版本的Android系统不予加载执行该程序。
但是,在当前智能手机的用户群体中,也有很大一部分在使用具有较低版本的Android系统,而较低版本的Android系统,例如v2.3版本(apilevel9)无法识别位置无关方式的应用程序。这就导致适用于较高版本的Android系统的应用程序的代码文件不适用于较低版本的Android系统,这样无论是安装还是更新该应用程序的操作,都无法得以实现。由此给Android应用程序的系统兼容性带来了困难。
在现有技术中,对上述问题的一种解决方案是,应用程序的开发者仍以较低版本的Android系统为标准编写代码文件。如果需要安装或更新该应用程序的移动终端的Android系统为较高版本(如v5.0版本),则在加载该代码文件前,修改Android v5.0系统的动态链接器(/system/bin/linker程序),以绕开系统在应用程序加载过程中对位置无关方式(PIE)特性的校验。虽然这种方案能够解决应用程序对于不同版本的Android系统的兼容性问题,但这引入了明显的安全风险,而且也增加了部署困难,在工程实践中并不可行。
现有技术中对上述问题的另一种解决方案是,在应用程序的开发过程中,开发者预先针对不同版本的Android系统制作两份不同的应用程序放在服务器上,其中一份适用于高版本的Android系统,另一份适用于低版本的Android系统。在某个移动终端请求下载安装或更新该应用程序时,服务器向该终端发送其中预定的一份,如果恰好匹配,则进行安装或更新。如果不匹配,则提示用户安装或更新失败,经过用户手动选择后,再将另一份代码文件发送给该移动终端。这种解决方案的问题是,随着应用程序从一个版本变为两个版本,所有依赖于该应用程序的外部模块都必须要修改调用方式。而且这样非常容易引入各种新的软件缺陷。此外,如果第一次向用户发送的代码文件不匹配移动终端的系统版本,则还需要重新下载,这样会影响用户体验。
可见,现有技术中亟需一种能够较好解决应用程序针对不同版本Android系统的兼容性问题的方案。
发明内容
有鉴于此,本发明提出了一种在移动终端安装或更新应用程序的方法和移动终端。
根据本发明的一个方面,提供了一种在移动终端安装或更新应用程序的方法,包括:根据移动终端的请求,将应用程序的安装文件发送给所述移动终端,其中所述安装文件包含两个代码文件和外壳程序,所述两个代码文件分别适用于不同版本的操作系统;在所述安装文件被所述移动终端的操作系统加载时,由所述外壳程序判断所述移动终端的操作系统的版本;以及根据判断结果执行所述两个代码文件中的一个。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510670237.5/2.html,转载请声明来源钻瓜专利网。





