用于执行应用程序的方法和装置制造方法

文档序号:6485929阅读:103来源:国知局
用于执行应用程序的方法和装置制造方法
【专利摘要】本发明公开了一种用于执行应用程序的方法和装置。所述应用程序具有一文件格式,所述文件格式至少包括第一文件格式和第二文件格式,所述第一文件格式适于通过第一操作系统中的第一执行器来执行,所述第二文件格式适于通过第二操作系统中的第二执行器来执行。所述方法应用于电子设备,在所述电子设备中当前正在执行所述第一操作系统。所述方法包括:确定所述应用程序的文件格式;根据所述应用程序的文件格式来调用执行器;以及通过所述执行器来执行所述应用程序。因此,在本发明中,可以在无需进行重新编译的情况下,在某一特定操作系统中运行在其他操作系统中开发的应用程序。
【专利说明】用于执行应用程序的方法和装置
【技术领域】
[0001]本发明涉及计算机【技术领域】,更具体地,本发明涉及一种用于执行应用程序的方法和装置。
【背景技术】
[0002]随着计算机技术及网络技术的发展,近年来,诸如笔记本计算机、平板电脑(PAD)、移动电话、多媒体播放器、个人数字助理(PDA)之类的电子设备越发普及。
[0003]一般而言,在某一种类的电子设备之间可能使用不同的操作系统,诸如在移动电话上使用的操作系统可以包括苹果(Apple)公司的iOS、谷歌(Google)公司的安卓(Android)、和微软(Microsoft)公司的视窗电话(WP)等。
[0004]由于操作系统之间的不一致,所以导致在某一特定操作系统中开发的应用程序无法运行在其他操作系统中。例如,针对iOS或WP操作系统所开发的应用程序无法在Android操作系统中安装和执行。
[0005]针对这个问题,现有的解决方案是在Android环境下重新编译在iOS或WP环境下开发的该应用程序的代码,然后将编译的用于Android操作系统的新程序安装到Android手机上。也就是说,在现有技术中必须针对每一种操作系统来为同一应用程序重新地编写代码并进行调试。
[0006]这个解决方案的缺点在于:1)需要应用程序开发商重新将一个应用程序编译成适于在各种操作系统中运行的应用程序;2)这个解决方案只能面向第三方应用程序开发商,向其提供开发包,并且由其根据该开发包来编译相应的应用程序,然而最终用户无法完成上述重新编译操作;3)由于用户接口(UI)库的问题,该应用程序在Android操作系统中的实现很难做到与在iOS操作系统中一样的用户体验。
[0007]这样,上述缺点导致不利于该解决方案进行发布、推广和流行等。

【发明内容】

[0008]为了解决上述技术问题,根据本发明的一个方面,提供了一种用于执行应用程序的方法,所述应用程序具有一文件格式,所述文件格式至少包括第一文件格式和第二文件格式,所述第一文件格式适于通过第一操作系统中的第一执行器来执行,所述第二文件格式适于通过第二操作系统中的第二执行器来执行,并且所述方法应用于电子设备,在所述电子设备中当前正在执行所述第一操作系统,其特征在于,所述方法包括:确定所述应用程序的文件格式;根据所述应用程序的文件格式来调用执行器;以及通过所述执行器来执行所述应用程序。
[0009]此外,根据本发明的另一方面,提供了一种用于执行应用程序的装置,所述应用程序具有一文件格式,所述文件格式至少包括第一文件格式和第二文件格式,所述第一文件格式适于通过第一操作系统中的第一执行器来执行,所述第二文件格式适于通过第二操作系统中的第二执行器来执行,并且所述装置应用于电子设备,在所述电子设备中当前正在执行所述第一操作系统,其特征在于,所述装置包括:确定单元,用于确定所述应用程序的文件格式;以及调用单元,用于根据所述应用程序的文件格式来调用执行器,以便通过所述执行器来执行所述应用程序。
[0010]与现有技术相比,采用根据本发明的用于执行应用程序的方法和装置,可以当在电子设备中执行应用程序时,首先确定该应用程序的文件格式,然后根据文件格式调用与之相应的执行器,最终利用该执行器来执行该应用程序。因此,在本发明中,可以在无需进行重新编译的情况下,在某一特定操作系统中运行在其他操作系统中开发的应用程序。
[0011]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【专利附图】

【附图说明】
[0012]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0013]图1图示了根据本发明的用于执行应用程序的方法。
[0014]图2图示了根据本发明的用于执行应用程序的装置。
[0015]图3图示了根据本发明第一实施例的用于执行应用程序的方法。
[0016]图4图示了根据本发明第一实施例的用于执行应用程序的装置。
[0017]图5图示了根据本发明第一实施例的电子设备的架构。
[0018]图6图示了根据本发明第二实施例的用于执行应用程序的方法。
[0019]图7图示了根据本发明第二实施例的用于执行应用程序的装置。
[0020]图8图示了根据本发明第三实施例的用于执行应用程序的方法。
[0021]图9图示了根据本发明第三实施例的用于执行应用程序的装置。
【具体实施方式】
[0022]将参照附图详细描述根据本发明的各个实施例。这里,需要注意的是,在附图中,将相同的附图标记赋予基本上具有相同或类似结构和功能的组成部分,并且将省略关于它们的重复描述。
[0023]在下文中,将参考图1和图2来描述根据本发明的用于执行应用程序的方法和装置。
[0024]图1图示了根据本发明的用于执行应用程序的方法。
[0025]在图1所图示的方法中,所述应用程序具有一文件格式,所述文件格式至少包括第一文件格式和第二文件格式,所述第一文件格式适于通过第一操作系统中的第一执行器来执行,所述第二文件格式适于通过第二操作系统中的第二执行器来执行。
[0026]所述方法应用于电子设备,在所述电子设备中当前正在执行所述第一操作系统。具体地,如图1所图示的,所述方法包括:
[0027]在步骤SllO中,确定所述应用程序的文件格式;
[0028]在步骤S120中,根据所述应用程序的文件格式来调用执行器;以及
[0029]在步骤S130中,通过所述执行器来执行所述应用程序。[0030]图2图示了根据本发明的用于执行应用程序的装置。
[0031]具体地,如图2所图示的,所述装置200包括:
[0032]确定单元210,用于确定所述应用程序的文件格式;
[0033]调用单元220,用于根据所述应用程序的文件格式来调用执行器,以便通过所述执行器来执行所述应用程序。
[0034]由此可见,采用根据本发明的用于执行应用程序的方法和装置,可以当在电子设备中执行应用程序时,首先确定该应用程序的文件格式,然后根据文件格式调用与之相应的执行器,最终利用该执行器来执行该应用程序。因此,在本发明中,可以在无需进行重新编译的情况下,在某一特定操作系统中运行在其他操作系统中开发的应用程序。
[0035]在下文中,将参考图3到图5来描述根据本发明第一实施例的用于执行应用程序的方法和装置。
[0036]针对现有技术中的问题,本发明人观察到:尽管在同一类型的电子设备之间可能使用不同的操作系统,但是在大多数情况下,同一类型的电子设备通常使用相同的处理单元,也就是说,在同一类型的电子设备上针对不同操作系统开发的应用程序所使用的指令集应该是相同的。
[0037]仍然以移动电话为例,虽然在移动电话上使用的操作系统可以包括iOS、Android、和WP等,但是在这些操作系统环境下开发的应用程序都是运行在高级精简指令集计算机机器(ARM)处理器上的,即,这些应用程序所采用的二进制代码的格式都是相同的,只是各个操作系统的执行文件的文件格式不一样而已,例如其中iOS操作系统采用mach-o文件格式,Android操作系统采用elf文件格式,而WP操作系统采用pe/coff文件格式。
[0038]因此,基于上述原理,在本发明的第一实施例中,本发明人设想出:在同一类型的电子设备上,除了利用在某一操作系统中固有安装的执行器来在该操作系统中执行符合该操作系统文件格式的应用程序之外,还可以在该操作系统中开发出一个或多个符合其他操作系统文件格式的执行器,以便能够在该操作系统中执行符合其他操作系统文件格式的应用程序。
[0039]图3图示了根据本发明第一实施例的用于执行应用程序的方法,而图4图示了根据本发明第一实施例的用于执行应用程序的装置。
[0040]图3所图示的根据本发明第一实施例的用于执行应用程序的方法可以应用于图4所图示的装置200。如图4所图示的,该装置200包括:确定单元210、调用单元220、第二执行器实现单元230、第一执行器240、和第二执行器250。
[0041]如图3所图示的,根据本发明第一实施例的用于执行应用程序的方法包括:
[0042]在步骤S210中,用于确定所述应用程序的文件格式。
[0043]具体地,根据本发明第一实施例的用于执行应用程序的方法和装置可以应用于各种电子设备(例如,移动电话)。在移动电话中例如安装有并且正在执行第一操作系统(例如,Android)。当用户希望使用该移动电话来执行某个应用程序时,装置200开始进行用于执行应用程序的方法。
[0044]首先,在装置200中,确定单元210判断该应用程序的文件格式是什么。换言之,确定单元210判断该应用程序的文件格式是符合第一操作系统规范的第一文件格式(用于Android操作系统的elf文件格式),还是符合第二操作系统规范的第二文件格式(例如,用于iOS操作系统的mach-o文件格式)。
[0045]当确定单元210判断出所述应用程序的文件格式是所述第一文件格式时,该方法进行到步骤S220 ;否则,该方法进行到步骤S240。
[0046]在步骤S220中,当第一文件格式时,在第一操作系统中调用第一执行器。
[0047]具体地,当确定单元210在步骤S210中判断出所述应用程序的文件格式是所述第一文件格式时,确定单元210向调用单元220通知该判断结果。调用单元220根据该判断结果来在所述第一操作系统中调用所述第一执行器240,其中所述第一执行器240用于执行符合第一操作系统规范的第一文件格式,它是在所述第一操作系统中默认安装,并且随着第一操作系统的启动而自动启动的。
[0048]在步骤S230中,通过第一执行器来执行应用程序。
[0049]具体地,在第一操作系统中固有的第一执行器240执行具有第一文件格式的应用程序。
[0050]例如,按照现有技术中一样地,在用于Android操作系统的第一执行器240中,通过第一解析器(未示出)来解析Android操作系统中的elf文件格式,以便获取所述应用程序的头部、指令集、和执行所述应用程序所需的动态链接库。然后,通过第一链接器(未示出)来访问在Android操作系统中默认安装的第一动态链接库集合,并且从该集合中加载执行所述应用程序所需的动态链接库。最后,通过所加载的动态链接库,并且根据所述头部来执行所述指令集,从而运行该应用程序。
[0051]在步骤S240中,当第二文件格式时,在第一操作系统中调用第二执行器。
[0052]具体地,当确定单元210在步骤S210中判断出所述应用程序的文件格式是所述第二文件格式时,调用单元220根据该判断结果来在所述第一操作系统中调用所述第二执行器250,其中所述第二执行器250用于执行符合第二操作系统规范的第二文件格式,并且在现有技术中它不是在所述第一操作系统中默认安装、而是在所述第二操作系统中默认安装的,并随着第二操作系统的启动而自动启动。
[0053]在本发明的第一实施例中,通过第二执行器实现单元230来预先在所述第一操作系统中实现所述第二执行器250,并且使得所述第二执行器250能够随着第一操作系统的启动而自动启动。
[0054]例如,预先地,该第二执行器实现单元230实现所述第二文件格式的第二解析器和第二链接器,将与第二操作系统相关的第二动态链接库集合复制到第一操作系统中,实现在第二操作系统中与所述电子设备的各个硬件装置(诸如,移动电话上的显示器、扬声器、触控装置、相机、通信模块)相关联的驱动程序,并且将第二操作系统中的这些驱动程序映射到第一操作系统中。
[0055]在步骤S250中,通过第二执行器来执行应用程序。
[0056]具体地,在第一操作系统中预先安装的第二执行器250执行具有第二文件格式的应用程序。
[0057]例如,在用于iOS操作系统的第二执行器250中,通过第二解析器(未示出)来解析iOS操作系统中的mach-0文件格式,以便获取所述应用程序的头部、指令集、和执行所述应用程序所需的动态链接库。
[0058]此时,第二解析器进一步解析符合mach-o目标可执行文件格式的该应用程序的头部(header),以获得相关的头部信息。所述头部信息包括:魔数(magic)、中央处理单元类型(cputype)、中央处理单元子类型(cpusubtype)、文件类型(fiIetype)、命令数目(ncmds)、命令尺寸(sizeofcmds)、和标志(flags)等字段。同时,第二解析器进一步解析该应用程序的指令集,以获得mach-o目标可执行文件的数据段(data)、代码段(text)等。第二解析器还可以进一步解析mach-o目标执行文件的动态链接库(动态依赖库)。其中,该iOS的动态链接库为dylib文件,而WP的动态链接库为dll文件。
[0059]然后,该第二解析器按照上述方法相应解析这些动态链接库,并且通过第二链接器(未示出)来访问在Android操作系统中预先复制的第二动态链接库集合,并且从该集合中加载执行所述应用程序所需的动态链接库。最后,通过所加载的动态链接库,并且根据各种头部信息,来执行包括数据段和代码段的所述指令集,从而运行该应用程序。
[0060]特别地,当在执行该应用程序时,如果需要与所述电子设备的某个硬件装置进行交互,则第二执行器250还获取与所述硬件装置相关联的驱动程序,并且通过所述驱动程序来运行该应用程序,以便能够访问该硬件装置。
[0061]需要说明的是,尽管此处通过将Android操作系统作为第一操作系统并将iOS操作系统作为第二操作系统的示例来说明本发明,但是,本领域技术人员能够理解的是,本发明不限于此。而是,可以将Android、iOS、WP操作系统和诺基亚(Nokia)公司的塞班(Symbian)操作系统等之一实现为第一操作系统,将其余中的另一操作系统实现为第二操作系统。
[0062]此外,在用于执行应用程序的装置中不限于只采用两个执行器,而是可以在其中实现符合各种操作系统的多个执行器,以便在电子设备中能够运行符合各种操作系统文件格式的应用程序。
[0063]图5图示了根据本发明第一实施例的电子设备的架构。
[0064]如图5所图示的,当想在Android操作系统的移动电话中运行符合Android、i0S、WP操作系统文件格式的应用程序、以及符合Java规范的应用程序时,该电子设备的架构包括三层:Linux驱动器(Driver)层、Linux内核(Kernel)层、包括Java虚拟机(VM)、Elf文件格式加载链接器、mach-o文件格式加载链接器、pe/coff文件格式加载链接器的执行器层。因此,利用此架构,用户可以在仅仅安装了 Android操作系统的移动电话中,通过Java虚拟机来运行Android Java的应用程序,通过Elf文件格式加载链接器来运行Android本地应用程序,通过mach-o文件格式加载链接器来运行iOS本地应用程序,通过pe/coff文件格式加载链接器来运行WP本地应用程序。
[0065]由此可见,采用根据本发明第一实施例的用于执行应用程序的方法和装置,可以按照可执行程序的应用二进制接口(ABI)标准,在某一操作系统中开发出一个或多个符合其他操作系统文件格式的执行器,从而当在电子设备中执行应用程序时,首先确定该应用程序的文件格式是否为当前操作系统默认的文件格式,如果是,则调用默认的执行器来执行该应用程序;否则根据该文件格式调用在该操作系统中预先安装并启用的相应执行器,最终利用该执行器来执行该应用程序。因此,在本发明的第一实施例中,用户可以在安装了某一特定操作系统的电子设备中运行在其他各种操作系统中开发的应用程序,从而实现了跨各种操作系统平台地运行应用程序,充分提高了用户体验。
[0066]在下文中,将参考图6和图7来描述根据本发明第二实施例的用于执行应用程序的方法和装置。
[0067]图6图示了根据本发明第二实施例的用于执行应用程序的方法,而图7图示了根据本发明第二实施例的用于执行应用程序的装置。
[0068]图6所图示的根据本发明第二实施例的用于执行应用程序的方法可以应用于图7所图示的装置200。如图7所图示的,该装置200包括:确定单元210、调用单元220、虚拟机启动单兀260、第一执行器240、和第二执行器250。
[0069]如图6所图示的,根据本发明第二实施例的用于执行应用程序的方法包括:
[0070]在步骤S310中,用于确定所述应用程序的文件格式。
[0071]在步骤S320中,当第一文件格式时,在第一操作系统中调用第一执行器。
[0072]在步骤S330中,通过第一执行器来执行应用程序。
[0073]步骤S310-S330与第一实施例中的步骤S210-S230相同,并因而省略其详细描述。
[0074]在步骤S340中,当第二文件格式时,在第一操作系统中调用第二执行器。
[0075]具体地,当确定单元210在步骤S310中判断出所述应用程序的文件格式是所述第二文件格式时,调用单元220根据该判断结果通知虚拟机启动单元260。
[0076]该虚拟机启动单元260在所述第一操作系统中运行虚拟机,在所述虚拟机中执行与第二文件格式对应的所述第二操作系统,并且在所述第二操作系统启动的同时,在所述第二操作系统中默认安装的所述第二执行器250自动启动。
[0077]在步骤S350中,通过第二执行器来执行应用程序。
[0078]具体地,在启动于虚拟机中的第二操作系统中固有的第二执行器250执行具有第二文件格式的应用程序。
[0079]例如,按照现有技术中一样地,在用于iOS操作系统的第二执行器250中,通过第二解析器来解析Android操作系统中的elf文件格式,并通过第二链接器来访问在iOS操作系统中默认安装的第二动态链接库集合,并且从该集合中加载执行所述应用程序所需的动态链接库。最后,通过所加载的动态链接库,并且根据所述头部来执行所述指令集,从而运行该应用程序。
[0080]由此可见,采用根据本发明第二实施例的用于执行应用程序的方法和装置,当在电子设备中执行应用程序时,首先确定该应用程序的文件格式是否为当前操作系统默认的文件格式,如果是,则调用默认的执行器来执行该应用程序;否则启动虚拟机,并且在该虚拟机中执行与该文件格式对应的操作系统,从而在该操作系统中调用默认的执行器,最终利用该执行器来执行该应用程序。因此,在本发明的第二实施例中,用户可以在安装了某一特定操作系统的电子设备中运行在其他各种操作系统中开发的应用程序,而无需在该特定操作系统中添加其他操作系统的执行器,从而在提高用户体验的同时,保证了特定操作系统的完整性,并且解决了由于用户接口(UI)库的问题,该应用程序在其他操作系统中的实现很难做到与在最初设计的操作系统中一样的用户体验。
[0081]显然的是,在本发明的第二实施例中,并不仅仅限于在一种电子设备中运行在该电子设备的不同操作系统中开发的各个应用程序,而是可以在一种电子设备中运行针对完全不同的另一电子设备的操作系统所开发的应用程序。例如,通过虚拟机的方式,可以在Android操作系统的移动电话中运行iOS操作系统的应用程序,甚至可以通过用于虚拟计算机环境的虚拟机来运行视窗XP (Windows XP)、视窗7 (Windows 7)、Linux、Unix等各种操作系统中的应用程序。
[0082]在下文中,将参考图8和图9来描述根据本发明第三实施例的用于执行应用程序的方法和装置。
[0083]图8图示了根据本发明第三实施例的用于执行应用程序的方法,而图9图示了根据本发明第三实施例的用于执行应用程序的装置。
[0084]图8所图示的根据本发明第三实施例的用于执行应用程序的方法可以应用于图9所图示的装置200。如图9所图示的,该装置200包括:确定单元210、调用单元220、操作系统切换单元270、第一执行器240、和第二执行器250。此时,在电子设备中至少安装有第一操作系统和第二操作系统,并且当前正在执行所述第一操作系统。
[0085]如图8所图示的,根据本发明第三实施例的用于执行应用程序的方法包括:
[0086]在步骤S410中,用于确定所述应用程序的文件格式。
[0087]在步骤S420中,当第一文件格式时,在第一操作系统中调用第一执行器。
[0088]在步骤S430中,通过第一执行器来执行应用程序。
[0089]步骤S410-S430与第一实施例中的步骤S210-S230相同,并因而省略其详细描述。
[0090]在步骤S440中,当第二文件格式时,在第一操作系统中调用第二执行器。
[0091]具体地,当确定单元210在步骤S410中判断出所述应用程序的文件格式是所述第二文件格式时,调用单元220根据该判断结果通知操作系统切换单元270。
[0092]该操作系统切换单元270将所述电子设备从所述第一操作系统中切换到所述第二操作系统。例如,该操作系统切换单元270对当前的第一操作系统执行关机操作,并且在将第一操作系统关闭之后,启动与所述第二文件格式对应的第二操作系统。在所述第二操作系统启动的同时,在所述第二操作系统中默认安装的所述第二执行器250自动启动。
[0093]在步骤S450中,通过第二执行器来执行应用程序。
[0094]步骤S450与第二实施例中的步骤S350相同,并因而省略其详细描述。
[0095]优选地,在步骤S440中,该操作系统切换单元270在对当前的第一操作系统执行关机操作之前,首先将在电子设备中当前正在运行的应用程序的清单保持在存储器中。然后,当该操作系统切换单元270启动第二操作系统之后,该操作系统切换单元270向第二执行器250通知上述清单,使得第二执行器250优选地在第二操作系统中打开该清单,获取清单中每个应用程序的标识符,并且在存储器中查找与上述标识符对应的、具有第二文件格式的每个应用程序,并且执行这些应用程序,使得用户可以在切换到第二操作系统之后,能够获得与在切换之前相同的操作场景。
[0096]由此可见,采用根据本发明第三实施例的用于执行应用程序的方法和装置,当在电子设备中执行应用程序时,首先确定该应用程序的文件格式是否为当前操作系统默认的文件格式,如果是,则调用默认的执行器来执行该应用程序;否则将当前操作系统切换为与该应用程序的文件格式对应的操作系统,从而在该操作系统中调用默认的执行器,最终利用该执行器来执行该应用程序。因此,在本发明的第三实施例中,在安装了多个操作系统的电子设备中,用户可以在这些操作系统中进行自动切换,以便在特定操作系统中执行针对该特定操作系统开发的应用程序,而无需受到用于运行某一应用程序的操作系统的限制,并且与第二实施例中一样,解决了由于用户接口(UI)库的问题,该应用程序在其他操作系统中的实现很难做到与在最初设计的操作系统中一样的用户体验。[0097]需要说明的是,尽管此处通过将移动电话作为电子设备的示例来说明本发明,但是,本领域技术人员能够理解的是,本发明不限于此。而是,还可以将本发明应用于其他的电子设备,例如,笔记本计算机、平板电脑、移动电话、多媒体播放器、个人数字助理等。
[0098]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助于软件加必需的硬件平台的方式来实现,当然也可以全部通过软件、或硬件来实施。基于这样的理解,本发明的技术方案对【背景技术】做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁盘、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0099]在上面详细描述了本发明的各个实施例。然而,本领域技术人员应该理解,在不脱离本发明的原理和精神的情况下,可对这些实施例进行各种修改,组合或子组合,并且这样的修改应落入本发明的范围内。
【权利要求】
1.一种用于执行应用程序的方法,所述应用程序具有一文件格式,所述文件格式至少包括第一文件格式和第二文件格式,所述第一文件格式适于通过第一操作系统中的第一执行器来执行,所述第二文件格式适于通过第二操作系统中的第二执行器来执行,并且 所述方法应用于电子设备,在所述电子设备中当前正在执行所述第一操作系统,其特征在于,所述方法包括: 确定所述应用程序的文件格式; 根据所述应用程序的文件格式来调用执行器;以及 通过所述执行器来执行所述应用程序。
2.根据权利要求1的方法,其特征在于,根据所述应用程序的文件格式来调用执行器的步骤包括: 当确定出所述应用程序的文件格式是所述第一文件格式时,在所述第一操作系统中调用所述第一执行器;以及 当确定出所述应用程序的文件格式是所述第二文件格式时,在所述第一操作系统中调用所述第二执行器。
3.根据权利要求2的方法,其特征在于,在调用所述第二执行器的步骤之前,所述方法还包括: 预先在所述第一操作系统中实现所述第二执行器。
4.根据权利要求3的方法,其特征在于,实现所述第二执行器的步骤包括: 实现所述第二文件格式的第二解析器和第二链接器;以及 将与第二操作系统相关的第二动态链接库集合复制到第一操作系统中。
5.根据权利要求4的方法,其特征在于,通过所述执行器来执行所述应用程序的步骤包括: 当确定出所述应用程序的文件格式是所述第二文件格式时,通过所述第二解析器来解析具有所述第二文件格式的所述应用程序,以便获取所述应用程序的头部、指令集、和执行所述应用程序所需的动态链接库; 通过所述第二链接器来从第二动态链接库集合中加载执行所述应用程序所需的动态链接库;以及 通过所加载的动态链接库,并且根据所述头部来执行所述指令集。
6.根据权利要求1的方法,其特征在于,根据所述应用程序的文件格式来调用执行器的步骤包括: 当确定出所述应用程序的文件格式是所述第一文件格式时,在所述第一操作系统中调用所述第一执行器; 当确定出所述应用程序的文件格式是所述第二文件格式时,在所述第一操作系统中运行虚拟机; 在所述虚拟机中执行所述第二操作系统;以及 在所述第二操作系统中调用所述第二执行器。
7.根据权利要求1的方法,其特征在于,根据所述应用程序的文件格式来调用执行器的步骤包括: 当确定出所述应用程序的文件格式是所述第一文件格式时,在所述第一操作系统中调用所述第一执行器; 当确定出所述应用程序的文件格式是所述第二文件格式时,将所述电子设备从所述第一操作系统中切换到所述第二操作系统;以及 在所述第二操作系统中调用所述第二执行器。
8.一种用于执行应用程序的装置,所述应用程序具有一文件格式,所述文件格式至少包括第一文件格式和第二文件格式,所述第一文件格式适于通过第一操作系统中的第一执行器来执行,所述第二文件格式适于通过第二操作系统中的第二执行器来执行,并且 所述装置应用于电子设备,在所述电子设备中当前正在执行所述第一操作系统,其特征在于,所述装置包括: 确定单元,用于确定所述应用程序的文件格式;以及 调用单元,用于根据所述应用程序的文件格式来调用执行器,以便通过所述执行器来执行所述应用程序。
9.根据权利要求8的装置,其特征在于, 当所述确定单元确定出所述应用程序的文件格式是所述第一文件格式时,所述调用单元在所述第一操作系统中调用所述第一执行器;以及 当所述确定单元确定出所述应用程序的文件格式是所述第二文件格式时,所述调用单元在所述第一操作系统中调用所述第二执行器。
10.根据权利要求9的装置,其特征在于,所述装置还包括: 第二执行器实现单元,用于在所`述调用单元调用所述第二执行器的步骤之前,预先在所述第一操作系统中实现所述第二执行器。
11.根据权利要求10的装置,其特征在于,所述第二执行器实现单元实现所述第二文件格式的第二解析器和第二链接器,并且将与第二操作系统相关的第二动态链接库集合复制到第一操作系统中。
12.根据权利要求11的装置,其特征在于, 当所述确定单元确定出所述应用程序的文件格式是所述第二文件格式时,所述调用单元在所述第一操作系统中调用所述第二执行器,使得所述第二执行器通过所述第二解析器来解析具有所述第二文件格式的所述应用程序,以便获取所述应用程序的头部、指令集、和执行所述应用程序所需的动态链接库,通过所述第二链接器来从第二动态链接库集合中加载执行所述应用程序所需的动态链接库,通过所加载的动态链接库,并且根据所述头部来执行所述指令集。
13.根据权利要求8的装置,其特征在于, 当所述确定单元确定出所述应用程序的文件格式是所述第一文件格式时,所述调用单元在所述第一操作系统中调用所述第一执行器;并且 当所述确定单元确定出所述应用程序的文件格式是所述第二文件格式时,所述调用单元在所述第一操作系统中运行虚拟机,在所述虚拟机中执行所述第二操作系统,并且在所述第二操作系统中调用所述第二执行器。
14.根据权利要求8的装置,其特征在于, 当所述确定单元确定出所述应用程序的文件格式是所述第一文件格式时,所述调用单元在所述第一操作系统中调用所述第一执行器;并且当所述确定单元确定出所述应用程序的文件格式是所述第二文件格式时,所述调用单元将所述电子设备从所述第一操作系统中切换到所述第二操作系统,并且在所述第二操作系统中调用所述第二执行器。`
【文档编号】G06F9/44GK103488466SQ201210192104
【公开日】2014年1月1日 申请日期:2012年6月11日 优先权日:2012年6月11日
【发明者】陆建强 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1