[发明专利]一种应用的执行方法、装置及电子设备有效
| 申请号: | 201110135797.2 | 申请日: | 2011-05-24 |
| 公开(公告)号: | CN102799461A | 公开(公告)日: | 2012-11-28 |
| 发明(设计)人: | 陆见微;汤良 | 申请(专利权)人: | 联想(北京)有限公司 |
| 主分类号: | G06F9/45 | 分类号: | G06F9/45 |
| 代理公司: | 北京银龙知识产权代理有限公司 11243 | 代理人: | 许静;黄灿 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 应用 执行 方法 装置 电子设备 | ||
技术领域
本发明属于电子领域,特别涉及一种应用的执行方法、装置及电子设备。
背景技术
Android(安卓)系统是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。
Android是现在最流行的移动互联平台,它一般是基于ARM硬件平台的Linux操作系统。现在Android平台的智能手机终端产品已经非常普遍。
然而发明人在实现本发明实施例的过程中发现,现有技术至少存在如下问题:
Android系统是基于ARM硬件平台的Linux操作系统,因此其在x86平台下的运行是一个问题,即使其移植到x86系统后,Android系统的上层有不计其数的第三方应用,这些应用很多包含自己专有的库文件,而很多库文件甚至是应用本身是基于ARM平台编译完成的,其无法在x86平台的系统中直接运行的,所以导致许多应用在安装后,无法在移植后的Android-x86上使用。
当然,上述是以Android(安卓)系统移植到x86平台为例说明问题,应当理解的是,其他系统移植到x86平台后同样会存在由于硬件平台差异导致的应用无法运行的问题。
发明内容
本发明实施例的目的在于提供一种应用的执行方法、装置及电子设备,使得应用能够顺利运行。
为了实现上述目的,本发明实施例提供了一种应用的执行方法,所述执行方法应用于基于第一硬件平台的电子设备中,包括:
获取当前待执行的第一指令集合;
判断所述第一指令集合中的指令能否在所述第一硬件平台上直接执行,获取一判断结果;
在所述判断结果指示所述第一指令集合中的指令无法在所述第一硬件平台上直接执行时,对所述第一指令集合进行转换处理,获得第二指令集合,其中,所述第二指令集合中的指令能够在所述第一硬件平台上直接执行,且所述第一指令集合在不同于第一硬件平台的第二硬件平台的执行结果和所述第二指令集合在所述第一硬件平台上执行的结果相同;
执行所述第二指令集合中的指令。
上述的应用的执行方法,其中,对所述第一指令集合进行转换处理,获得第二指令集合具体为:
对所述第一指令集合中的指令进行反编译,得到源码;
对所述源码在第一硬件平台下进行编译,得到所述第二指令集合。
上述的应用的执行方法,其中,对所述第一指令集合进行转换处理获得第二指令集合具体包括:
选择所述第一指令集合当前待处理的指令;
将当前待处理的指令切分成至少一条微指令;
对所述至少一条微指令翻译成所述第一硬件平台下的等价指令;
重复上述步骤直至所述第一指令集合的指令处理完毕。
上述的应用的执行方法,其中,所述第一硬件平台为X86平台,所述第二硬件平台为ARM平台,所述判断所述第一指令集合中的指令能否在所述第一硬件平台上直接执行的步骤中,通过文件头结构中的架构字段判断所述第一指令集合中的指令能否在所述第一硬件平台上直接执行。
上述的应用的执行方法,其中,所述第一硬件平台为X86平台,所述第二硬件平台为ARM平台,所述第一指令集合为安卓系统下运行的应用所需要调用的对象的指令组成的集合,所述对象在加载时,记录了一指示所述第一指令集合中的指令所支持的硬件平台的支持信息,所述判断所述第一指令集合中的指令能否在所述第一硬件平台上直接执行的步骤中,直接通过所述支持信息进行判断。
为了实现上述目的,本发明实施例提供了一种应用的执行装置,所述执行装置应用于基于第一硬件平台的电子设备中,包括:
获取模块,用于获取当前待执行的第一指令集合;
判断模块,用于判断所述第一指令集合中的指令能否在所述第一硬件平台上直接执行,获取一判断结果;
转换模块,用于在所述判断结果指示所述第一指令集合中的指令无法在所述第一硬件平台上直接执行时,对所述第一指令集合进行转换处理,获得第二指令集合,其中,所述第二指令集合中的指令能够在所述第一硬件平台上直接执行,且所述第一指令集合在不同于第一硬件平台的第二硬件平台的执行结果和所述第二指令集合在所述第一硬件平台上执行的结果相同;
执行模块,用于执行所述第二指令集合中的指令。
上述的应用的执行装置,其中,所述转换模块具体包括:
反编译单元,用于对所述第一指令集合中的指令进行反编译,得到源码;
编译单元,用于对所述源码在第一硬件平台下进行编译,得到所述第二指令集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110135797.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:图像显示装置以及液晶透镜
- 下一篇:具有按压输入功能的手机套





