CN103677767A - 一种处理应用程序的方法、操作系统及电子设备 - Google Patents
一种处理应用程序的方法、操作系统及电子设备 Download PDFInfo
- Publication number
- CN103677767A CN103677767A CN201210324582.XA CN201210324582A CN103677767A CN 103677767 A CN103677767 A CN 103677767A CN 201210324582 A CN201210324582 A CN 201210324582A CN 103677767 A CN103677767 A CN 103677767A
- Authority
- CN
- China
- Prior art keywords
- application program
- compile mode
- compile
- program
- program code
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种处理应用程序的方法、操作系统及电子设备。该方法应用在包括M个应用程序的电子设备中,M个应用程序为以第一编译方式编译的且能在第一类硬件平台上运行的程序,该方法包括:基于一预设规则,判断M个应用程序中的每个应用程序中是否有第一部分程序代码的编译方式需要从第一编译方式调整为第二编译方式,第一编译方式与第二编译方式为不同的编译方式;在有N个第一部分程序代码的编译方式需要从第一编译方式调整为第二编译方式时,基于第二编译方式,对N个第一部分程序代码进行编译,获得N个编译过的应用程序,其中,N为小于等于M的整数,N个编译过的应用程序为能在与第一类硬件平台不同的第二类硬件平台上运行的程序。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种处理应用程序的方法、操作系统及电子设备。
背景技术
计算机时代的到来给嵌入式的发展带来了挑战和机遇,不同架构的硬件体系门类繁多,仅RISC(精简指令集)就有ARM、MIPS等,还有CSIC(复杂指令集)的X86。众多的处理器架构给应用带来了更广阔的选择空间,但随之而来的是应用程序移植所带来的难题。不同架构体系间的系统软件、应用软件不能直接移植。例如,目前大多数Android应用程序都是针对ARM平台而设计的,所以大多数Android应用程序无法在X86平台上运行。
在现有技术中,为了解决上述问题,一般采用两种方法:
第一种,重新修改编译源代码,即将所有Android应用程序重新编译,以兼容X86平台;
第二种,在操作系统中(例如Windows操作系统),构建一个ARM平台的虚拟机,然后在该虚拟机上在跑一个Android操作系统,然后运行这些Android应用程序。
然而,本发明人在实现本发明的过程中发现,现有技术中至少存在如下问题:
现有技术中的第一种方案,需要将所有的Android应用程序进行重新编译,需要编译,还要进一步调试,所以工作量非常大;
现有技术中的第二种方案采用虚拟机,因为虚拟机会产生性能损耗,所以会使得应用程序的性能降低;综上,现有技术中没有一种有效的解决应用程序兼容性低的方案。
发明内容
本发明提供一种处理应用程序的方法、操作系统及电子设备,用以解决现有技术中存在的应用程序兼容性低的技术问题。
本发明一方面提供了一种处理应用程序的方法,应用在包括M个应用程序的电子设备中,其中,所述M个应用程序为以第一编译方式编译的且能在第一类硬件平台上运行的程序,M为大于等于1的整数,所述方法包括:基于一预设规则,判断所述M个应用程序中的每个应用程序中是否有第一部分程序代码的编译方式需要从所述第一编译方式调整为第二编译方式,所述第一编译方式与所述第二编译方式为不同的编译方式;在有N个所述第一部分程序代码的编译方式需要从所述第一编译方式调整为第二编译方式时,基于所述第二编译方式,对N个所述第一部分程序代码进行编译,获得N个编译过的应用程序,其中,N为小于等于M的整数,所述N个编译过的应用程序为能在与所述第一类硬件平台不同的第二类硬件平台上运行的程序。
优选地,所述第一类硬件平台为ARM平台,所述第二类硬件平台为X86平台,所述M个应用程序为Android应用程序,所述第一编译方式为使用精简指令集的编译方式,所述第二编译方式为使用复杂指令集的编译方式。
优选地,基于一预设规则,判断所述M个应用程序中的每个应用程序中是否有第一部分程序代码的编译方式需要从所述第一编译方式调整为第二编译方式,具体包括:判断所述M个应用程序中的每个应用程序中是否有需要使用JNI调用的程序代码;如果有N个应用程序中的每个应用程序都有需要使用JNI调用的程序代码,则确定所述N个应用程序中的每个应用程序中需要使用JNI调用的程序代码需要从所述第一编译方式调整为第二编译方式。
优选地,所述方法还包括:在所述第二类硬件平台上直接运行所述M个应用程序中除N个需要使用JNI调用的应用程序之外的应用程序,以及所述N个应用程序中的每个应用程序中除需要使用JNI调用的程序代码之外的其他程序代码。
优选地,基于一预设规则,判断所述M个应用程序中的每个应用程序中是否有第一部分程序代码的编译方式需要从所述第一编译方式调整为第二编译方式,具体包括:判断所述M个应用程序中的每个应用程序中是否有使用NDK开发的程序代码;如果有N个应用程序中的每个应用程序都有使用NDK开发的程序代码,则确定所述N个应用程序中的每个应用程序中使用NDK开发的程序代码需要从所述第一编译方式调整为第二编译方式。
本发明另一方面还提供一种操作系统,包括:核心层,位于底层;本地指令库,位于所述核心层之上;运行库,位于所述本地指令库之上,所述运行库包括虚拟机和核心库,所述虚拟机用于运行第一应用程序;指令转换器,位于所述运行库之上,用于将所述第一应用程序中的第一部分程序代码的编译方式从第一编译方式转换为第二编译方式,并将以所述第二编译方式编译的所述第一部分程序代码的指令存储在所述核心库内;其中,以所述第一编译方式编译的所述第一部分程序代码能在第一类硬件平台上运行,以所述第二编译方式编译的所述第一部分程序代码、以所述第一编译方式编译的所述第一应用程序中除所述第一部分程序代码外的其他程序代码能在第二类硬件平台上运行;其中,所述第一编译方式不同于所述第二编译方式,所述第一类硬件平台不同于所述第二类硬件平台。
优选地,所述核心层为Linux核心层,所述虚拟机为Dalvik虚拟机,所述运行库为Android运行库,所述第一类硬件平台为ARM平台,所述第二类硬件平台为X86平台,所述第一应用程序为Android应用程序,所述第一编译方式为使用精简指令集的编译方式,所述第二编译方式为使用复杂指令集的编译方式。
优选地,所述第一部分程序代码为需要使用JNI调用的程序代码。
优选地,所述第一部分程序代码为使用NDK开发的程序代码。
本发明再一方面还提供一种电子设备,包括:主板;处理器,设置在所述主板上,所述处理器是基于一第三类硬件平台构建的;如上述的操作系统,安装在所述第三类硬件平台上。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明一实施例只将每一个应用程序中满足一预设规则的部分程序代码进行重新编译,以适应第二类硬件平台,提高了应用程序的兼容性,而且本实施例中的方案并非将每一个应用程序的所有代码都进行重新编译,所以工作量小,效率高;而且也不需要在操作系统上构建第一类硬件平台的虚拟机,所以不会有性能损耗。
进一步,本发明一实施例中,具体是将Android应用程序从ARM平台移植到X86平台,以手机为代表的智能化移动终端设备是计算机技术的一个重要发展方向,自从推出Android系统和基于Android系统的手机以来,很快就在世界手机市场上占有了不小的份额,各种Android手机层出不穷,同样,随之而来的就是从业人员开发出了数量不小的Android应用程序,所以通过本实施例中的技术方案可以将这众多的Android应用程序从ARM平台移植到X86平台,所以免去了重新开发一系列适用X86平台的应用程序的资源消耗。
再进一步,本发明一实施例中将每一个应用程序中需要使用JNI(Java本地调用)调用的程序代码进行指令转换,因为本发明人发现需要JNI调用的程序代码与X86平台不兼容,所以只将这部分程序代码进行指令转换,所以可以简单方便的将这部分程序代码转换为X86平台可以运行的应用程序。
再进一步,本发明一实施例中将每一个应用程序中使用NDK开发的程序代码进行指令转换,因为使用NDK开发的程序代码一般使用的场景都要求具有较高的性能,所以如果使用虚拟机的话就会降低性能,所以也可以将这部分程序代码做指令转换,如此可以获得较高的性能。
更进一步,本发明一实施例中提供了一种操作系统,包括虚拟机、核心库和指令转换器,虚拟机上可以运行第一应用程序,而指令转换器用于将第一应用程序中第一部分程序代码作指令转换,并将转换后的指令存储在核心库内以供第二类硬件平台直接运行。
附图说明
图1为本发明一实施例中的处理应用程序的方法流程图;
图2为本发明一实施例中的操作系统的结构图。
具体实施方式
本发明提供一种处理应用程序的方法、操作系统及电子设备,用以解决现有技术中存在的应用程序兼容性低的技术问题。
本发明实施例中的技术方案为解决上述的技术问题,总体思路如下:
只将满足一预设规则的部分程序代码进行重新编译,以适应第二类硬件平台,提高了应用程序的兼容性,而且本实施例中的方案并非将每一个应用程序的所有代码都进行重新编译,所以工作量小,效率高;而且也不需要在操作系统上构建第一类硬件平台的虚拟机,所以不会有性能损耗。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
本发明一实施例提供一种处理应用程序的方法,应用在包括M个应用程序的电子设备中,其中,M个应用程序为以第一编译方式编译的且能在第一类硬件平台上运行的程序,M为大于等于1的整数,该电子设备例如是手机、平板电脑、笔记本电脑、台式电脑等,请参考图1,该方法包括:
步骤101:基于一预设规则,判断M个应用程序中的每个应用程序中是否有第一部分程序代码的编译方式需要从第一编译方式调整为第二编译方式,第一编译方式与第二编译方式为不同的编译方式;
步骤102:在有N个第一部分程序代码的编译方式需要从第一编译方式调整为第二编译方式时,基于第二编译方式,对N个应用程序进行编译,获得N个编译过的应用程序,其中,N为小于等于M的整数,N个编译过的应用程序为能在与第一类硬件平台不同的第二类硬件平台上运行的程序。
该技术方案可提高应用程序在不同平台的兼容性,而且该方案并非将每一个应用程序的所有代码进行重新编译,所以工作量小,效率高;而且也不需要在操作系统上构建第一类硬件平台的虚拟机,所以不会有性能损耗。
为了便于本领域技术人员了解该方法的具体实施过程,以下将举具体的实例来详细说明,其中,电子设备以台式电脑为例,第一类硬件平台以ARM平台为例,第二类硬件平台以X86平台为例,而M个应用程序以Android应用程序为例,第一编译方式即为使用精简指令集的编译方式,第二编译方式即为使用复杂指令集的编译方式,在其他实施例中,电子设备也可以是其他电子设备,而第一类硬件平台和第二类硬件平台也可以是其他硬件平台,M个应用程序也可以是其他适用于第一类硬件平台的程序,但基本实施过程都类似。
在本实施例中,台式电脑中可以包含一个处理器,而该处理器是以X86硬件平台构建的,例如用户通过网络下载了5个Android应用程序,而这5个Android应用程序是针对ARM平台设计的,所以是通过精简指令集编译的。当用户想要将这5个应用程序安装在台式电脑中时,这时就会执行步骤101,即判断这5个应用程序中的每个应用程序中是否有第一部分程序代码的编译方式需要从第一编译方式调整为第二编译方式,而判断的规则是一个预设规则,可以是以下两种但不限于以下两种:
第一是判断这5个应用程序中的每个应用程序中是否有需要使用JNI(Java本地调用)调用的程序代码,JNI调用允许Java代码和其他语言(例如C或C++)写的代码进行交互,即表示需要JNI调用的程序代码需要与本地已编译的代码交互,就会丧失平台可移植性,JNI调用虽然可以保证本地代码能工作在Java虚拟机实现下,但是却不能直接在X86平台上运行,所以需要使用JNI调用的程序代码需要从第一编译方式调整为第二编译方式。
第二是判断这5个应用程序中的每个应用程序中是否有使用NDK(NativeDevelopment Kit)开发的程序代码,NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk;因为使用NDK开发的程序代码一方面可能需要JNI调用,另一方面使用NDK开发的应用程序在很多使用场景下都需要较高的性能,例如3D游戏等,所以如果使用虚拟机的话就会使得应用程序的性能降低,达不到用户的要求,所以也需要将这些程序代码从第一编译方式调整为第二编译方式。
当然,预设规则也可以上述两种情况的结合,也可以是其他的规则。
进一步,当例如通过上述两种预设规则判断出来需要调整编译方式的应用程序有两个,即这两个应用程序中有一部分程序代码需要重新编译,则执行步骤102,即基于第二编译方式,对这两个第一部分程序代码进行编译,获得两个编译过的应用程序,在本实施例中,就是将通过简单指令集编译的两个应用程序的每个第一部分程序代码用复杂指令集的编译方式编译出来,所以两个编译过的第一部分程序代码就可被台式电脑直接执行。
步骤102中的调整编译方式,即为指令的转换,从简单指令集的指令到复杂指令集的指令之间的转换为本领域技术人员所熟知的内容,例如可能会使用一条X86指令就可以实现对应与对应多条ARM指令的功能之和,所以在此不再赘述。
在进一步的实施例中,当步骤101中判断出其中3个应用程序不需要做指令转换,例如是通过SDK(Software Development Kit;软件开发工具包)开发的应用程序,则直接在X86平台的台式电脑上运行这3个应用程序,以及那两个需要做指令转换的每个应用程序中的除需要重新编译的第一部分程序代码之外的其他程序代码也可直接在X86平台上直接运行。
在上述实施例中,是以客户端为例进行说明的,但本实施例中的处理应用程序的方法也可以用在第三方设备上,即Android应用程序提供者提供Android应用程序,而第三方用户专门将这些应用程序中的第一部分程序代码进行指令转换,使得指令转换后的应用程序能兼容多个不同的硬件平台,然后再将指令转换后的应用程序上传在网络中的服务器上,而客户端用户可以直接下载这些已经指令转换后的应用程序,直接进行运行,不需要再做指令转换,所以非常方便,而且客户端设备也不需要做任何改进,所以成本低。
本发明另一实施例还提供一种操作系统,请参考图2,该操作系统包括:核心层201,位于底层;本地指令库202,位于核心层201之上;运行库203,位于本地指令库202之上,运行库203包括虚拟机2032和核心库2031,虚拟机2032用于运行第一应用程序;指令转换器204,位于运行库203之上,用于将第一应用程序中的第一部分程序代码的编译方式从第一编译方式转换为第二编译方式,并将以第二编译方式编译的第一部分程序代码的指令存储在核心库2031内;其中,以第一编译方式编译的第一应用程序能在第一类硬件平台上运行,以第二编译方式编译的第一部分程序代码、以第一编译方式编译的第一应用程序中除第一部分程序代码外的其他程序代码能在第二类硬件平台上运行;其中,第一编译方式不同于第二编译方式,第一类硬件平台不同于第二类硬件平台。
该操作系统可安装于电子设备中,用于实现前述的处理应用程序的方法,在具体实施过程中,该操作系统可以是根据Android操作系统改进而得到的,例如核心层201可以是Linux核心层,虚拟机2032可以是Dalvik虚拟机,运行库203为Android运行库。
进一步的,该操作系统还包括应用框架(图中未示出),位于运行库203和指令转换器204之上。
在本实施例中,第一类硬件平台为ARM平台,第二类硬件平台为X86平台,而第一应用程序为Android应用程序,第一编译方式为使用精简指令集的编译方式,第二编译方式为使用复杂指令集的编译方式。
另外,如前述方法实施例中所介绍,当该操作系统安装于X86平台时,例如像需要使用JNI调用的程序代码或者是使用NDK开发的程序代码就需要通过指令转换器204将其转换为可在X86平台上运行的程序,即只要客户端安装了该操作系统,用户就可以直接下载并安装现有的、以及后续开发出来的大量的Android应用程序,所以免去了重新开发一系列适用X86平台的应用程序的资源消耗。
进一步,在Dalvik虚拟机上还可以运行的第二应用程序,例如是通过SDK开发的应用程序。
本发明另一实施例还提供一种电子设备,包括:主板;处理器,设置在主板上,该处理器是基于一第三类硬件平台构建的。该电子设备还包括一操作系统,安装在第三类硬件平台上,该操作系统可以是前述实施例中的操作系统及其各种变化形态。
其中,第三类硬件平台可以与第一类硬件平台相同,也可以与第二类硬件平台相同,或者也可以与第一类硬件平台和第二类硬件平台都不同。当第三类硬件平台与第二类硬件平台相同时,例如都是X86的平台,那么该电子设备就可以直接运行指令转换后的应用程序;当该电子设备作为第三方使用时,第三类硬件平台可以和第一类硬件平台和第二类硬件平台都不同,第三方可以将第二类应用程序做指令转换,然后上传至网络中,其他第二类硬件平台的电子设备可直接下载指令转换后的应用程序来使用。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明一实施例只将每一个应用程序中满足一预设规则的部分程序代码进行重新编译,以适应第二类硬件平台,提高了应用程序的兼容性,而且本实施例中的方案并非将每一个应用程序的所有代码都进行重新编译,所以工作量小,效率高;而且也不需要在操作系统上构建第一类硬件平台的虚拟机,所以不会有性能损耗。
进一步,本发明一实施例中,具体是将Android应用程序从ARM平台移植到X86平台,以手机为代表的智能化移动终端设备是计算机技术的一个重要发展方向,自从推出Android系统和基于Android系统的手机以来,很快就在世界手机市场上占有了不小的份额,各种Android手机层出不穷,同样,随之而来的就是从业人员开发出了数量不小的Android应用程序,所以通过本实施例中的技术方案可以将这众多的Android应用程序从ARM平台移植到X86平台,所以免去了重新开发一系列适用X86平台的应用程序的资源消耗。
再进一步,本发明一实施例中将每一个应用程序中需要使用JNI(Java本地调用)调用的程序代码进行指令转换,因为本发明人发现需要JNI调用的程序代码与X86平台不兼容,所以只将这部分程序代码进行指令转换,所以可以简单方便的将这部分程序代码转换为X86平台可以运行的应用程序。
再进一步,本发明一实施例中将每一个应用程序中使用NDK开发的程序代码进行指令转换,因为使用NDK开发的程序代码一般使用的场景都要求具有较高的性能,所以如果使用虚拟机的话就会降低性能,所以也可以将这部分程序代码做指令转换,如此可以获得较高的性能。
更进一步,本发明一实施例中提供了一种操作系统,包括虚拟机、核心库和指令转换器,虚拟机上可以运行第一应用程序,而指令转换器用于将第一应用程序中第一部分程序代码作指令转换,并将转换后的指令存储在核心库内以供第二类硬件平台直接运行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种处理应用程序的方法,应用在包括M个应用程序的电子设备中,其中,所述M个应用程序为以第一编译方式编译的且能在第一类硬件平台上运行的程序,M为大于等于1的整数,其特征在于,所述方法包括:
基于一预设规则,判断所述M个应用程序中的每个应用程序中是否有第一部分程序代码的编译方式需要从所述第一编译方式调整为第二编译方式,所述第一编译方式与所述第二编译方式为不同的编译方式;
在有N个所述第一部分程序代码的编译方式需要从所述第一编译方式调整为第二编译方式时,基于所述第二编译方式,对N个所述第一部分程序代码进行编译,获得N个编译过的应用程序,其中,N为小于等于M的整数,所述N个编译过的应用程序为能在与所述第一类硬件平台不同的第二类硬件平台上运行的程序。
2.如权利要求1所述的方法,其特征在于,所述第一类硬件平台为ARM平台,所述第二类硬件平台为X86平台,所述M个应用程序为Android应用程序,所述第一编译方式为使用精简指令集的编译方式,所述第二编译方式为使用复杂指令集的编译方式。
3.如权利要求2所述的方法,其特征在于,基于一预设规则,判断所述M个应用程序中的每个应用程序中是否有第一部分程序代码的编译方式需要从所述第一编译方式调整为第二编译方式,具体包括:
判断所述M个应用程序中的每个应用程序中是否有需要使用JNI调用的程序代码;
如果有N个应用程序中的每个应用程序都有需要使用JNI调用的程序代码,则确定所述N个应用程序中的每个应用程序中需要使用JNI调用的程序代码需要从所述第一编译方式调整为第二编译方式。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:在所述第二类硬件平台上直接运行所述M个应用程序中除N个需要使用JNI调用的应用程序之外的应用程序,以及所述N个应用程序中的每个应用程序中除需要使用JNI调用的程序代码之外的其他程序代码。
5.如权利要求2所述的方法,其特征在于,基于一预设规则,判断所述M个应用程序中的每个应用程序中是否有第一部分程序代码的编译方式需要从所述第一编译方式调整为第二编译方式,具体包括:
判断所述M个应用程序中的每个应用程序中是否有使用NDK开发的程序代码;
如果有N个应用程序中的每个应用程序都有使用NDK开发的程序代码,则确定所述N个应用程序中的每个应用程序中使用NDK开发的程序代码需要从所述第一编译方式调整为第二编译方式。
6.一种操作系统,其特征在于,包括:
核心层,位于底层;
本地指令库,位于所述核心层之上;
运行库,位于所述本地指令库之上,所述运行库包括虚拟机和核心库,所述虚拟机用于运行第一应用程序;
指令转换器,位于所述运行库之上,用于将第一应用程序中的第一部分程序代码的编译方式从第一编译方式转换为第二编译方式,并将以所述第二编译方式编译的所述第一部分程序代码的指令存储在所述核心库内;其中,以所述第一编译方式编译的所述第一应用程序能在第一类硬件平台上运行,以所述第二编译方式编译的所述第一部分程序代码、以所述第一编译方式编译的所述第一应用程序中除所述第一部分程序代码外的其他程序代码能在第二类硬件平台上运行;其中,所述第一编译方式不同于所述第二编译方式,所述第一类硬件平台不同于所述第二类硬件平台。
7.如权利要求6所述的操作系统,其特征在于,所述核心层为Linux核心层,所述虚拟机为Dalvik虚拟机,所述运行库为Android运行库,所述第一类硬件平台为ARM平台,所述第二类硬件平台为X86平台,所述第一应用程序为Android应用程序,所述第一编译方式为使用精简指令集的编译方式,所述第二编译方式为使用复杂指令集的编译方式。
8.如权利要求7所述的操作系统,其特征在于,所述第一部分程序代码为需要使用JNI调用的程序代码。
9.如权利要求7所述的操作系统,其特征在于,所述第一部分程序代码为使用NDK开发的程序代码。
10.一种电子设备,其特征在于,包括:
主板;
处理器,设置在所述主板上,所述处理器是基于一第三类硬件平台构建的;
如权利要求6-9中任一项权利要求所述的操作系统,安装在所述第三类硬件平台上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210324582.XA CN103677767A (zh) | 2012-09-04 | 2012-09-04 | 一种处理应用程序的方法、操作系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210324582.XA CN103677767A (zh) | 2012-09-04 | 2012-09-04 | 一种处理应用程序的方法、操作系统及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103677767A true CN103677767A (zh) | 2014-03-26 |
Family
ID=50315445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210324582.XA Pending CN103677767A (zh) | 2012-09-04 | 2012-09-04 | 一种处理应用程序的方法、操作系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677767A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035809A (zh) * | 2014-04-29 | 2014-09-10 | 哈尔滨工程大学 | 一种基于Dalvik虚拟机JNI机制中接口函数性能优化方法 |
CN105760239A (zh) * | 2016-02-03 | 2016-07-13 | 北京元心科技有限公司 | 在第二系统中访问用于第一系统的第三方库的方法及系统 |
CN108304246A (zh) * | 2016-09-29 | 2018-07-20 | 联芯科技有限公司 | 识别目标文件的方法与设备 |
CN111488140A (zh) * | 2019-01-29 | 2020-08-04 | 杭州海康威视数字技术股份有限公司 | 一种支持多编程语言多编程库的方法、装置和计算机设备 |
CN114840271A (zh) * | 2022-05-20 | 2022-08-02 | 北京雷石天地电子技术有限公司 | 设备功能转化方法、设备和计算机可读存储介质 |
-
2012
- 2012-09-04 CN CN201210324582.XA patent/CN103677767A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035809A (zh) * | 2014-04-29 | 2014-09-10 | 哈尔滨工程大学 | 一种基于Dalvik虚拟机JNI机制中接口函数性能优化方法 |
CN105760239A (zh) * | 2016-02-03 | 2016-07-13 | 北京元心科技有限公司 | 在第二系统中访问用于第一系统的第三方库的方法及系统 |
CN105760239B (zh) * | 2016-02-03 | 2019-04-16 | 北京元心科技有限公司 | 在第二系统中访问用于第一系统的第三方库的方法及系统 |
CN108304246A (zh) * | 2016-09-29 | 2018-07-20 | 联芯科技有限公司 | 识别目标文件的方法与设备 |
CN111488140A (zh) * | 2019-01-29 | 2020-08-04 | 杭州海康威视数字技术股份有限公司 | 一种支持多编程语言多编程库的方法、装置和计算机设备 |
CN111488140B (zh) * | 2019-01-29 | 2023-10-27 | 杭州海康威视数字技术股份有限公司 | 一种支持多编程语言多编程库的方法、装置和计算机设备 |
CN114840271A (zh) * | 2022-05-20 | 2022-08-02 | 北京雷石天地电子技术有限公司 | 设备功能转化方法、设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104035781B (zh) | 一种快速开发异构并行程序的方法 | |
Chun et al. | Clonecloud: elastic execution between mobile device and cloud | |
RU2486579C2 (ru) | Устройство терминала, имеющее основанную на виртуальной машине (vm) структуру уровней для выполнения разнородных приложений | |
KR102183185B1 (ko) | 애플리케이션 프로그래밍 인터페이스들에 대한 런타임 액세스의 제어 | |
US20200167139A1 (en) | Dynamic generation of cpu instructions and use of the cpu instructions in generated code for a softcore processor | |
US20160041816A1 (en) | Systems and methods for mobile applications | |
CN103677767A (zh) | 一种处理应用程序的方法、操作系统及电子设备 | |
CN102681893B (zh) | 可执行程序的跨平台实现方法及移动终端 | |
US9047101B2 (en) | Method for compiling an intermediate code of an application | |
CN104090765A (zh) | 一种手机游戏转网页游戏的方法及装置 | |
CN104375849A (zh) | 加载内核的方法及装置 | |
CN101859244A (zh) | 多工具链工程构建方法及系统 | |
Wu et al. | Android unikernel: Gearing mobile code offloading towards edge computing | |
CN103473072B (zh) | 一种移动云计算应用程序开发方法 | |
CN103488466A (zh) | 用于执行应用程序的方法和装置 | |
KR102298766B1 (ko) | 타겟 디바이스에 대한 딥러닝 모델 변환 장치 및 방법 | |
CN103443763A (zh) | 包含对重写虚拟函数的调用的支持的isa桥接 | |
CN103176899A (zh) | 手机模拟器及在宿主机上模拟手机功能的方法 | |
CN107179903B (zh) | 用于使用模型驱动开发来开发基于移动的应用的系统和方法 | |
Jeong et al. | Seamless offloading of web app computations from mobile device to edge clouds via html5 web worker migration | |
CN112035112A (zh) | 应用程序开发方法、系统、介质和电子设备 | |
CN102034028A (zh) | 跨客户端平台的网络游戏引擎系统 | |
CN114327405A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN101505339A (zh) | 从电脑直接部署手机应用程序到手机上的实现方法 | |
CN114237760A (zh) | 一种将工业机理模型封装为容器镜像并发布web服务的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140326 |
|
RJ01 | Rejection of invention patent application after publication |