CN103488466B - 用于执行应用程序的方法和装置 - Google Patents
用于执行应用程序的方法和装置 Download PDFInfo
- Publication number
- CN103488466B CN103488466B CN201210192104.8A CN201210192104A CN103488466B CN 103488466 B CN103488466 B CN 103488466B CN 201210192104 A CN201210192104 A CN 201210192104A CN 103488466 B CN103488466 B CN 103488466B
- Authority
- CN
- China
- Prior art keywords
- application program
- file format
- executor
- operating system
- execute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种用于执行应用程序的方法和装置。所述应用程序具有一文件格式,所述文件格式至少包括第一文件格式和第二文件格式,所述第一文件格式适于通过第一操作***中的第一执行器来执行,所述第二文件格式适于通过第二操作***中的第二执行器来执行。所述方法应用于电子设备,在所述电子设备中当前正在执行所述第一操作***。所述方法包括:确定所述应用程序的文件格式;根据所述应用程序的文件格式来调用执行器;以及通过所述执行器来执行所述应用程序。因此,在本发明中,可以在无需进行重新编译的情况下,在某一特定操作***中运行在其他操作***中开发的应用程序。
Description
技术领域
本发明涉及计算机技术领域,更具体地,本发明涉及一种用于执行应用程序的方法和装置。
背景技术
随着计算机技术及网络技术的发展,近年来,诸如笔记本计算机、平板电脑(PAD)、移动电话、多媒体播放器、个人数字助理(PDA)之类的电子设备越发普及。
一般而言,在某一种类的电子设备之间可能使用不同的操作***,诸如在移动电话上使用的操作***可以包括苹果(Apple)公司的iOS、谷歌(Google)公司的安卓(Android)、和微软(Microsoft)公司的视窗电话(WP)等。
由于操作***之间的不一致,所以导致在某一特定操作***中开发的应用程序无法运行在其他操作***中。例如,针对iOS或WP操作***所开发的应用程序无法在Android操作***中安装和执行。
针对这个问题,现有的解决方案是在Android环境下重新编译在iOS或WP环境下开发的该应用程序的代码,然后将编译的用于Android操作***的新程序安装到Android手机上。也就是说,在现有技术中必须针对每一种操作***来为同一应用程序重新地编写代码并进行调试。
这个解决方案的缺点在于:1)需要应用程序开发商重新将一个应用程序编译成适于在各种操作***中运行的应用程序;2)这个解决方案只能面向第三方应用程序开发商,向其提供开发包,并且由其根据该开发包来编译相应的应用程序,然而最终用户无法完成上述重新编译操作;3)由于用户接口(UI)库的问题,该应用程序在Android操作***中的实现很难做到与在iOS操作***中一样的用户体验。
这样,上述缺点导致不利于该解决方案进行发布、推广和流行等。
发明内容
为了解决上述技术问题,根据本发明的一个方面,提供了一种用于执行应用程序的方法,所述应用程序具有一文件格式,所述文件格式至少包括第一文件格式和第二文件格式,所述第一文件格式适于通过第一操作***中的第一执行器来执行,所述第二文件格式适于通过第二操作***中的第二执行器来执行,并且所述方法应用于电子设备,在所述电子设备中当前正在执行所述第一操作***,其特征在于,所述方法包括:确定所述应用程序的文件格式;根据所述应用程序的文件格式来调用执行器;以及通过所述执行器来执行所述应用程序。
此外,根据本发明的另一方面,提供了一种用于执行应用程序的装置,所述应用程序具有一文件格式,所述文件格式至少包括第一文件格式和第二文件格式,所述第一文件格式适于通过第一操作***中的第一执行器来执行,所述第二文件格式适于通过第二操作***中的第二执行器来执行,并且所述装置应用于电子设备,在所述电子设备中当前正在执行所述第一操作***,其特征在于,所述装置包括:确定单元,用于确定所述应用程序的文件格式;以及调用单元,用于根据所述应用程序的文件格式来调用执行器,以便通过所述执行器来执行所述应用程序。
与现有技术相比,采用根据本发明的用于执行应用程序的方法和装置,可以当在电子设备中执行应用程序时,首先确定该应用程序的文件格式,然后根据文件格式调用与之相应的执行器,最终利用该执行器来执行该应用程序。因此,在本发明中,可以在无需进行重新编译的情况下,在某一特定操作***中运行在其他操作***中开发的应用程序。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1图示了根据本发明的用于执行应用程序的方法。
图2图示了根据本发明的用于执行应用程序的装置。
图3图示了根据本发明第一实施例的用于执行应用程序的方法。
图4图示了根据本发明第一实施例的用于执行应用程序的装置。
图5图示了根据本发明第一实施例的电子设备的架构。
图6图示了根据本发明第二实施例的用于执行应用程序的方法。
图7图示了根据本发明第二实施例的用于执行应用程序的装置。
图8图示了根据本发明第三实施例的用于执行应用程序的方法。
图9图示了根据本发明第三实施例的用于执行应用程序的装置。
具体实施方式
将参照附图详细描述根据本发明的各个实施例。这里,需要注意的是,在附图中,将相同的附图标记赋予基本上具有相同或类似结构和功能的组成部分,并且将省略关于它们的重复描述。
在下文中,将参考图1和图2来描述根据本发明的用于执行应用程序的方法和装置。
图1图示了根据本发明的用于执行应用程序的方法。
在图1所图示的方法中,所述应用程序具有一文件格式,所述文件格式至少包括第一文件格式和第二文件格式,所述第一文件格式适于通过第一操作***中的第一执行器来执行,所述第二文件格式适于通过第二操作***中的第二执行器来执行。
所述方法应用于电子设备,在所述电子设备中当前正在执行所述第一操作***。具体地,如图1所图示的,所述方法包括:
在步骤S110中,确定所述应用程序的文件格式;
在步骤S120中,根据所述应用程序的文件格式来调用执行器;以及
在步骤S130中,通过所述执行器来执行所述应用程序。
图2图示了根据本发明的用于执行应用程序的装置。
具体地,如图2所图示的,所述装置200包括:
确定单元210,用于确定所述应用程序的文件格式;
调用单元220,用于根据所述应用程序的文件格式来调用执行器,以便通过所述执行器来执行所述应用程序。
由此可见,采用根据本发明的用于执行应用程序的方法和装置,可以当在电子设备中执行应用程序时,首先确定该应用程序的文件格式,然后根据文件格式调用与之相应的执行器,最终利用该执行器来执行该应用程序。因此,在本发明中,可以在无需进行重新编译的情况下,在某一特定操作***中运行在其他操作***中开发的应用程序。
在下文中,将参考图3到图5来描述根据本发明第一实施例的用于执行应用程序的方法和装置。
针对现有技术中的问题,本发明人观察到:尽管在同一类型的电子设备之间可能使用不同的操作***,但是在大多数情况下,同一类型的电子设备通常使用相同的处理单元,也就是说,在同一类型的电子设备上针对不同操作***开发的应用程序所使用的指令集应该是相同的。
仍然以移动电话为例,虽然在移动电话上使用的操作***可以包括iOS、Android、和WP等,但是在这些操作***环境下开发的应用程序都是运行在高级精简指令集计算机机器(ARM)处理器上的,即,这些应用程序所采用的二进制代码的格式都是相同的,只是各个操作***的执行文件的文件格式不一样而已,例如其中iOS操作***采用mach-o文件格式,Android操作***采用elf文件格式,而WP操作***采用pe/coff文件格式。
因此,基于上述原理,在本发明的第一实施例中,本发明人设想出:在同一类型的电子设备上,除了利用在某一操作***中固有安装的执行器来在该操作***中执行符合该操作***文件格式的应用程序之外,还可以在该操作***中开发出一个或多个符合其他操作***文件格式的执行器,以便能够在该操作***中执行符合其他操作***文件格式的应用程序。
图3图示了根据本发明第一实施例的用于执行应用程序的方法,而图4图示了根据本发明第一实施例的用于执行应用程序的装置。
图3所图示的根据本发明第一实施例的用于执行应用程序的方法可以应用于图4所图示的装置200。如图4所图示的,该装置200包括:确定单元210、调用单元220、第二执行器实现单元230、第一执行器240、和第二执行器250。
如图3所图示的,根据本发明第一实施例的用于执行应用程序的方法包括:
在步骤S210中,用于确定所述应用程序的文件格式。
具体地,根据本发明第一实施例的用于执行应用程序的方法和装置可以应用于各种电子设备(例如,移动电话)。在移动电话中例如安装有并且正在执行第一操作***(例如,Android)。当用户希望使用该移动电话来执行某个应用程序时,装置200开始进行用于执行应用程序的方法。
首先,在装置200中,确定单元210判断该应用程序的文件格式是什么。换言之,确定单元210判断该应用程序的文件格式是符合第一操作***规范的第一文件格式(用于Android操作***的elf文件格式),还是符合第二操作***规范的第二文件格式(例如,用于iOS操作***的mach-o文件格式)。
当确定单元210判断出所述应用程序的文件格式是所述第一文件格式时,该方法进行到步骤S220;否则,该方法进行到步骤S240。
在步骤S220中,当第一文件格式时,在第一操作***中调用第一执行器。
具体地,当确定单元210在步骤S210中判断出所述应用程序的文件格式是所述第一文件格式时,确定单元210向调用单元220通知该判断结果。调用单元220根据该判断结果来在所述第一操作***中调用所述第一执行器240,其中所述第一执行器240用于执行符合第一操作***规范的第一文件格式,它是在所述第一操作***中默认安装,并且随着第一操作***的启动而自动启动的。
在步骤S230中,通过第一执行器来执行应用程序。
具体地,在第一操作***中固有的第一执行器240执行具有第一文件格式的应用程序。
例如,按照现有技术中一样地,在用于Android操作***的第一执行器240中,通过第一解析器(未示出)来解析Android操作***中的elf文件格式,以便获取所述应用程序的头部、指令集、和执行所述应用程序所需的动态链接库。然后,通过第一链接器(未示出)来访问在Android操作***中默认安装的第一动态链接库集合,并且从该集合中加载执行所述应用程序所需的动态链接库。最后,通过所加载的动态链接库,并且根据所述头部来执行所述指令集,从而运行该应用程序。
在步骤S240中,当第二文件格式时,在第一操作***中调用第二执行器。
具体地,当确定单元210在步骤S210中判断出所述应用程序的文件格式是所述第二文件格式时,调用单元220根据该判断结果来在所述第一操作***中调用所述第二执行器250,其中所述第二执行器250用于执行符合第二操作***规范的第二文件格式,并且在现有技术中它不是在所述第一操作***中默认安装、而是在所述第二操作***中默认安装的,并随着第二操作***的启动而自动启动。
在本发明的第一实施例中,通过第二执行器实现单元230来预先在所述第一操作***中实现所述第二执行器250,并且使得所述第二执行器250能够随着第一操作***的启动而自动启动。
例如,预先地,该第二执行器实现单元230实现所述第二文件格式的第二解析器和第二链接器,将与第二操作***相关的第二动态链接库集合复制到第一操作***中,实现在第二操作***中与所述电子设备的各个硬件装置(诸如,移动电话上的显示器、扬声器、触控装置、相机、通信模块)相关联的驱动程序,并且将第二操作***中的这些驱动程序映射到第一操作***中。
在步骤S250中,通过第二执行器来执行应用程序。
具体地,在第一操作***中预先安装的第二执行器250执行具有第二文件格式的应用程序。
例如,在用于iOS操作***的第二执行器250中,通过第二解析器(未示出)来解析iOS操作***中的mach-o文件格式,以便获取所述应用程序的头部、指令集、和执行所述应用程序所需的动态链接库。
此时,第二解析器进一步解析符合mach-o目标可执行文件格式的该应用程序的头部(header),以获得相关的头部信息。所述头部信息包括:魔数(magic)、中央处理单元类型(cputype)、中央处理单元子类型(cpusubtype)、文件类型(filetype)、命令数目(ncmds)、命令尺寸(sizeofcmds)、和标志(flags)等字段。同时,第二解析器进一步解析该应用程序的指令集,以获得mach-o目标可执行文件的数据段(data)、代码段(text)等。第二解析器还可以进一步解析mach-o目标执行文件的动态链接库(动态依赖库)。其中,该iOS的动态链接库为dylib文件,而WP的动态链接库为dll文件。
然后,该第二解析器按照上述方法相应解析这些动态链接库,并且通过第二链接器(未示出)来访问在Android操作***中预先复制的第二动态链接库集合,并且从该集合中加载执行所述应用程序所需的动态链接库。最后,通过所加载的动态链接库,并且根据各种头部信息,来执行包括数据段和代码段的所述指令集,从而运行该应用程序。
特别地,当在执行该应用程序时,如果需要与所述电子设备的某个硬件装置进行交互,则第二执行器250还获取与所述硬件装置相关联的驱动程序,并且通过所述驱动程序来运行该应用程序,以便能够访问该硬件装置。
需要说明的是,尽管此处通过将Android操作***作为第一操作***并将iOS操作***作为第二操作***的示例来说明本发明,但是,本领域技术人员能够理解的是,本发明不限于此。而是,可以将Android、iOS、WP操作***和诺基亚(Nokia)公司的塞班(Symbian)操作***等之一实现为第一操作***,将其余中的另一操作***实现为第二操作***。
此外,在用于执行应用程序的装置中不限于只采用两个执行器,而是可以在其中实现符合各种操作***的多个执行器,以便在电子设备中能够运行符合各种操作***文件格式的应用程序。
图5图示了根据本发明第一实施例的电子设备的架构。
如图5所图示的,当想在Android操作***的移动电话中运行符合Android、iOS、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本地应用程序。
由此可见,采用根据本发明第一实施例的用于执行应用程序的方法和装置,可以按照可执行程序的应用二进制接口(ABI)标准,在某一操作***中开发出一个或多个符合其他操作***文件格式的执行器,从而当在电子设备中执行应用程序时,首先确定该应用程序的文件格式是否为当前操作***默认的文件格式,如果是,则调用默认的执行器来执行该应用程序;否则根据该文件格式调用在该操作***中预先安装并启用的相应执行器,最终利用该执行器来执行该应用程序。因此,在本发明的第一实施例中,用户可以在安装了某一特定操作***的电子设备中运行在其他各种操作***中开发的应用程序,从而实现了跨各种操作***平台地运行应用程序,充分提高了用户体验。
在下文中,将参考图6和图7来描述根据本发明第二实施例的用于执行应用程序的方法和装置。
图6图示了根据本发明第二实施例的用于执行应用程序的方法,而图7图示了根据本发明第二实施例的用于执行应用程序的装置。
图6所图示的根据本发明第二实施例的用于执行应用程序的方法可以应用于图7所图示的装置200。如图7所图示的,该装置200包括:确定单元210、调用单元220、虚拟机启动单元260、第一执行器240、和第二执行器250。
如图6所图示的,根据本发明第二实施例的用于执行应用程序的方法包括:
在步骤S310中,用于确定所述应用程序的文件格式。
在步骤S320中,当第一文件格式时,在第一操作***中调用第一执行器。
在步骤S330中,通过第一执行器来执行应用程序。
步骤S310-S330与第一实施例中的步骤S210-S230相同,并因而省略其详细描述。
在步骤S340中,当第二文件格式时,在第一操作***中调用第二执行器。
具体地,当确定单元210在步骤S310中判断出所述应用程序的文件格式是所述第二文件格式时,调用单元220根据该判断结果通知虚拟机启动单元260。
该虚拟机启动单元260在所述第一操作***中运行虚拟机,在所述虚拟机中执行与第二文件格式对应的所述第二操作***,并且在所述第二操作***启动的同时,在所述第二操作***中默认安装的所述第二执行器250自动启动。
在步骤S350中,通过第二执行器来执行应用程序。
具体地,在启动于虚拟机中的第二操作***中固有的第二执行器250执行具有第二文件格式的应用程序。
例如,按照现有技术中一样地,在用于iOS操作***的第二执行器250中,通过第二解析器来解析Android操作***中的elf文件格式,并通过第二链接器来访问在iOS操作***中默认安装的第二动态链接库集合,并且从该集合中加载执行所述应用程序所需的动态链接库。最后,通过所加载的动态链接库,并且根据所述头部来执行所述指令集,从而运行该应用程序。
由此可见,采用根据本发明第二实施例的用于执行应用程序的方法和装置,当在电子设备中执行应用程序时,首先确定该应用程序的文件格式是否为当前操作***默认的文件格式,如果是,则调用默认的执行器来执行该应用程序;否则启动虚拟机,并且在该虚拟机中执行与该文件格式对应的操作***,从而在该操作***中调用默认的执行器,最终利用该执行器来执行该应用程序。因此,在本发明的第二实施例中,用户可以在安装了某一特定操作***的电子设备中运行在其他各种操作***中开发的应用程序,而无需在该特定操作***中添加其他操作***的执行器,从而在提高用户体验的同时,保证了特定操作***的完整性,并且解决了由于用户接口(UI)库的问题,该应用程序在其他操作***中的实现很难做到与在最初设计的操作***中一样的用户体验。
显然的是,在本发明的第二实施例中,并不仅仅限于在一种电子设备中运行在该电子设备的不同操作***中开发的各个应用程序,而是可以在一种电子设备中运行针对完全不同的另一电子设备的操作***所开发的应用程序。例如,通过虚拟机的方式,可以在Android操作***的移动电话中运行iOS操作***的应用程序,甚至可以通过用于虚拟计算机环境的虚拟机来运行视窗XP(Windows XP)、视窗7(Windows 7)、Linux、Unix等各种操作***中的应用程序。
在下文中,将参考图8和图9来描述根据本发明第三实施例的用于执行应用程序的方法和装置。
图8图示了根据本发明第三实施例的用于执行应用程序的方法,而图9图示了根据本发明第三实施例的用于执行应用程序的装置。
图8所图示的根据本发明第三实施例的用于执行应用程序的方法可以应用于图9所图示的装置200。如图9所图示的,该装置200包括:确定单元210、调用单元220、操作***切换单元270、第一执行器240、和第二执行器250。此时,在电子设备中至少安装有第一操作***和第二操作***,并且当前正在执行所述第一操作***。
如图8所图示的,根据本发明第三实施例的用于执行应用程序的方法包括:
在步骤S410中,用于确定所述应用程序的文件格式。
在步骤S420中,当第一文件格式时,在第一操作***中调用第一执行器。
在步骤S430中,通过第一执行器来执行应用程序。
步骤S410-S430与第一实施例中的步骤S210-S230相同,并因而省略其详细描述。
在步骤S440中,当第二文件格式时,在第一操作***中调用第二执行器。
具体地,当确定单元210在步骤S410中判断出所述应用程序的文件格式是所述第二文件格式时,调用单元220根据该判断结果通知操作***切换单元270。
该操作***切换单元270将所述电子设备从所述第一操作***中切换到所述第二操作***。例如,该操作***切换单元270对当前的第一操作***执行关机操作,并且在将第一操作***关闭之后,启动与所述第二文件格式对应的第二操作***。在所述第二操作***启动的同时,在所述第二操作***中默认安装的所述第二执行器250自动启动。
在步骤S450中,通过第二执行器来执行应用程序。
步骤S450与第二实施例中的步骤S350相同,并因而省略其详细描述。
优选地,在步骤S440中,该操作***切换单元270在对当前的第一操作***执行关机操作之前,首先将在电子设备中当前正在运行的应用程序的清单保持在存储器中。然后,当该操作***切换单元270启动第二操作***之后,该操作***切换单元270向第二执行器250通知上述清单,使得第二执行器250优选地在第二操作***中打开该清单,获取清单中每个应用程序的标识符,并且在存储器中查找与上述标识符对应的、具有第二文件格式的每个应用程序,并且执行这些应用程序,使得用户可以在切换到第二操作***之后,能够获得与在切换之前相同的操作场景。
由此可见,采用根据本发明第三实施例的用于执行应用程序的方法和装置,当在电子设备中执行应用程序时,首先确定该应用程序的文件格式是否为当前操作***默认的文件格式,如果是,则调用默认的执行器来执行该应用程序;否则将当前操作***切换为与该应用程序的文件格式对应的操作***,从而在该操作***中调用默认的执行器,最终利用该执行器来执行该应用程序。因此,在本发明的第三实施例中,在安装了多个操作***的电子设备中,用户可以在这些操作***中进行自动切换,以便在特定操作***中执行针对该特定操作***开发的应用程序,而无需受到用于运行某一应用程序的操作***的限制,并且与第二实施例中一样,解决了由于用户接口(UI)库的问题,该应用程序在其他操作***中的实现很难做到与在最初设计的操作***中一样的用户体验。
需要说明的是,尽管此处通过将移动电话作为电子设备的示例来说明本发明,但是,本领域技术人员能够理解的是,本发明不限于此。而是,还可以将本发明应用于其他的电子设备,例如,笔记本计算机、平板电脑、移动电话、多媒体播放器、个人数字助理等。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助于软件加必需的硬件平台的方式来实现,当然也可以全部通过软件、或硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁盘、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
在上面详细描述了本发明的各个实施例。然而,本领域技术人员应该理解,在不脱离本发明的原理和精神的情况下,可对这些实施例进行各种修改,组合或子组合,并且这样的修改应落入本发明的范围内。
Claims (12)
1.一种用于执行应用程序的方法,所述应用程序具有一文件格式,所述文件格式至少包括第一文件格式和第二文件格式,所述第一文件格式适于通过第一操作***中的第一执行器来执行,所述第二文件格式适于通过第二操作***中的第二执行器来执行,并且
所述方法应用于电子设备,在所述电子设备中当前仅安装并且正在执行所述第一操作***,其特征在于,所述方法包括:
确定所述应用程序的文件格式;
根据所述应用程序的文件格式来调用执行器;以及
通过所述执行器来执行所述应用程序。
2.根据权利要求1的方法,其特征在于,根据所述应用程序的文件格式来调用执行器的步骤包括:
当确定出所述应用程序的文件格式是所述第一文件格式时,在所述第一操作***中调用所述第一执行器;以及
当确定出所述应用程序的文件格式是所述第二文件格式时,在所述第一操作***中调用所述第二执行器。
3.根据权利要求2的方法,其特征在于,在调用所述第二执行器的步骤之前,所述方法还包括:
预先在所述第一操作***中实现所述第二执行器。
4.根据权利要求3的方法,其特征在于,实现所述第二执行器的步骤包括:
实现所述第二文件格式的第二解析器和第二链接器;以及
将与第二操作***相关的第二动态链接库集合复制到第一操作***中。
5.根据权利要求4的方法,其特征在于,通过所述执行器来执行所述应用程序的步骤包括:
当确定出所述应用程序的文件格式是所述第二文件格式时,通过所述第二解析器来解析具有所述第二文件格式的所述应用程序,以便获取所述应用程序的头部、指令集、和执行所述应用程序所需的动态链接库;
通过所述第二链接器来从第二动态链接库集合中加载执行所述应用程序所需的动态链接库;以及
通过所加载的动态链接库,并且根据所述头部来执行所述指令集。
6.根据权利要求1的方法,其特征在于,根据所述应用程序的文件格式来调用执行器的步骤包括:
当确定出所述应用程序的文件格式是所述第一文件格式时,在所述第一操作***中调用所述第一执行器;
当确定出所述应用程序的文件格式是所述第二文件格式时,在所述第一操作***中运行虚拟机;
在所述虚拟机中执行所述第二操作***;以及
在所述第二操作***中调用所述第二执行器。
7.一种用于执行应用程序的装置,所述应用程序具有一文件格式,所述文件格式至少包括第一文件格式和第二文件格式,所述第一文件格式适于通过第一操作***中的第一执行器来执行,所述第二文件格式适于通过第二操作***中的第二执行器来执行,并且
所述装置应用于电子设备,在所述电子设备中当前仅安装并且正在执行所述第一操作***,其特征在于,所述装置包括:
确定单元,用于确定所述应用程序的文件格式;以及
调用单元,用于根据所述应用程序的文件格式来调用执行器,以便通过所述执行器来执行所述应用程序。
8.根据权利要求7的装置,其特征在于,
当所述确定单元确定出所述应用程序的文件格式是所述第一文件格式时,所述调用单元在所述第一操作***中调用所述第一执行器;以及
当所述确定单元确定出所述应用程序的文件格式是所述第二文件格式时,所述调用单元在所述第一操作***中调用所述第二执行器。
9.根据权利要求8的装置,其特征在于,所述装置还包括:
第二执行器实现单元,用于在所述调用单元调用所述第二执行器的步骤之前,预先在所述第一操作***中实现所述第二执行器。
10.根据权利要求9的装置,其特征在于,所述第二执行器实现单元实现所述第二文件格式的第二解析器和第二链接器,并且将与第二操作***相关的第二动态链接库集合复制到第一操作***中。
11.根据权利要求10的装置,其特征在于,
当所述确定单元确定出所述应用程序的文件格式是所述第二文件格式时,所述调用单元在所述第一操作***中调用所述第二执行器,使得所述第二执行器通过所述第二解析器来解析具有所述第二文件格式的所述应用程序,以便获取所述应用程序的头部、指令集、和执行所述应用程序所需的动态链接库,通过所述第二链接器来从第二动态链接库集合中加载执行所述应用程序所需的动态链接库,通过所加载的动态链接库,并且根据所述头部来执行所述指令集。
12.根据权利要求7的装置,其特征在于,
当所述确定单元确定出所述应用程序的文件格式是所述第一文件格式时,所述调用单元在所述第一操作***中调用所述第一执行器;并且
当所述确定单元确定出所述应用程序的文件格式是所述第二文件格式时,所述调用单元在所述第一操作***中运行虚拟机,在所述虚拟机中执行所述第二操作***,并且在所述第二操作***中调用所述第二执行器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210192104.8A CN103488466B (zh) | 2012-06-11 | 2012-06-11 | 用于执行应用程序的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210192104.8A CN103488466B (zh) | 2012-06-11 | 2012-06-11 | 用于执行应用程序的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103488466A CN103488466A (zh) | 2014-01-01 |
CN103488466B true CN103488466B (zh) | 2017-02-08 |
Family
ID=49828724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210192104.8A Active CN103488466B (zh) | 2012-06-11 | 2012-06-11 | 用于执行应用程序的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103488466B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11886222B1 (en) | 2020-01-31 | 2024-01-30 | Huawei Technologies Co., Ltd. | Dynamic link library loading method and apparatus |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780952B (zh) * | 2014-01-28 | 2018-01-26 | 广东欧珀移动通信有限公司 | 智能终端信息发送方法及*** |
GB201516227D0 (en) * | 2015-09-14 | 2015-10-28 | Horne Stephen And Hemmer Fabian And Von Oven Peter | Running applications on a computer device |
CN107241651B (zh) | 2016-03-28 | 2021-02-26 | 斑马智行网络(香港)有限公司 | 一种媒体数据播放方法和装置、智能终端 |
CN108304246A (zh) * | 2016-09-29 | 2018-07-20 | 联芯科技有限公司 | 识别目标文件的方法与设备 |
CN108228273B (zh) * | 2017-09-29 | 2021-07-16 | 珠海市魅族科技有限公司 | 一种执行可执行文件的方法及设备 |
CN108170503B (zh) * | 2018-01-24 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 一种跨***运行安卓应用的方法、终端及存储介质 |
CN109344051B (zh) * | 2018-08-28 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 数据处理的方法、装置、电子设备及存储介质 |
CN112823519B (zh) * | 2018-11-26 | 2023-10-13 | 深圳市欢太科技有限公司 | 视频解码方法、装置、电子设备、计算机可读存储介质 |
CN112650383A (zh) * | 2019-10-10 | 2021-04-13 | Oppo广东移动通信有限公司 | 应用程序的控制方法、装置、电子设备及存储介质 |
CN111935061B (zh) * | 2019-12-26 | 2021-06-11 | 长扬科技(北京)有限公司 | 一种工控主机的网络安全防护实现方法及工控主机 |
CN112953721B (zh) * | 2021-01-28 | 2023-04-14 | 浪潮通用软件有限公司 | 一种ipa文件的解析方法、装置、设备及存储介质 |
CN113934559B (zh) * | 2021-12-15 | 2022-06-03 | 北京鲸鲮信息***技术有限公司 | 应用程序查询方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945531A (zh) * | 2006-11-16 | 2007-04-11 | 刘金刚 | 互操作***的设计方法 |
CN101606128A (zh) * | 2007-02-06 | 2009-12-16 | 微软公司 | 在媒体设备中支持多个操作*** |
CN101739284A (zh) * | 2008-11-20 | 2010-06-16 | 联想(北京)有限公司 | 一种计算机以及信息处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI258676B (en) * | 2004-05-28 | 2006-07-21 | Intervideo Digital Technology | Architecture of auto-playback for storage device and method thereof |
-
2012
- 2012-06-11 CN CN201210192104.8A patent/CN103488466B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945531A (zh) * | 2006-11-16 | 2007-04-11 | 刘金刚 | 互操作***的设计方法 |
CN101606128A (zh) * | 2007-02-06 | 2009-12-16 | 微软公司 | 在媒体设备中支持多个操作*** |
CN101739284A (zh) * | 2008-11-20 | 2010-06-16 | 联想(北京)有限公司 | 一种计算机以及信息处理方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11886222B1 (en) | 2020-01-31 | 2024-01-30 | Huawei Technologies Co., Ltd. | Dynamic link library loading method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN103488466A (zh) | 2014-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488466B (zh) | 用于执行应用程序的方法和装置 | |
CN107967139B (zh) | 游戏的热更新方法及装置 | |
CN102915247B (zh) | Apk插件化管理方法 | |
WO2015021860A1 (en) | Method and apparatus for loading rendering engine | |
CN103443763B (zh) | 包含对重写虚拟函数的调用的支持的isa桥接 | |
CN103885814B (zh) | 在x86架构上运行ARM APK的模拟器装置和方法 | |
EP2864872B1 (en) | Automatic provisioning of a software platform to a device ecosystem | |
CN103902265A (zh) | 一种应用实现方法及相关装置 | |
CN114721719B (zh) | 一种在集群中容器化部署异构应用的方法和*** | |
US20220405385A1 (en) | Secure container construction device and method executable by android application, and computer-readable recording medium on which program thereof is recorded | |
WO2018209843A1 (zh) | 一种执行热补丁的方法、装置及终端 | |
CN108089873A (zh) | 一种应用组件即时更新的方法及终端 | |
WO2021027772A1 (zh) | 一种应用切换运行的方法及设备 | |
WO2022017242A1 (zh) | 在第一***运行第二***应用的方法、装置、设备及介质 | |
CN116401003A (zh) | 基于桌面操作***的安卓应用运行方法、***及存储介质 | |
CN110113391B (zh) | 一种客户端上线方法、装置及一种客户端运行方法、装置 | |
CN102214105B (zh) | 平行化快速启动方法及具有多处理单元的电子装置 | |
CN116643778B (zh) | 一种应用程序优化方法及电子设备 | |
WO2021097683A1 (zh) | 安卓***启动的方法、装置、设备及存储介质 | |
CN111382076B (zh) | 应用程序的测试方法、装置、电子设备及计算机存储介质 | |
Li et al. | Springbok: An App deployment accelerator for Android smart devices | |
WO2019157891A1 (zh) | 应用安装方法、应用安装包的生成方法 | |
KR20140039779A (ko) | 안드로이드 운영 체제의 부팅 성능 향상 방법 | |
KR20050107690A (ko) | 라이브러리에 대한 사용을 지원하는 플랫폼을 구비한이동통신단말기 | |
CN113590166B (zh) | 应用程序的更新方法、装置以及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |