为什么将Android移植到x86很困难?

为什么将Android移植到x86很困难?,android,compilation,x86,Android,Compilation,X86,我想知道将Android移植到x86架构的技术难点。 由于其源代码是开放的,在x86上运行的主要困难是什么? 或者问为什么不能编译成Java字节码在PC上的JVM上运行是正确的?是因为Dalvik虚拟机吗? 如果有人能解释一下,我将不胜感激。 谢谢。实际上,它已经移植到x86: 此外,Android不在JVM中运行。Android内核是一个经过修改的Linux内核,是用C编写的。您无法将其编译为在JVM中运行 DVM(Android使用)是一种基于开源JVM实现的改进JVM。Android上的所

我想知道将Android移植到x86架构的技术难点。 由于其源代码是开放的,在x86上运行的主要困难是什么? 或者问为什么不能编译成Java字节码在PC上的JVM上运行是正确的?是因为Dalvik虚拟机吗? 如果有人能解释一下,我将不胜感激。
谢谢。

实际上,它已经移植到x86:

此外,Android不在JVM中运行。Android内核是一个经过修改的Linux内核,是用C编写的。您无法将其编译为在JVM中运行


DVM(Android使用)是一种基于开源JVM实现的改进JVM。Android上的所有Java应用程序都在DVM中运行。

实际上,它已经移植到x86:

此外,Android不在JVM中运行。Android内核是一个经过修改的Linux内核,是用C编写的。您无法将其编译为在JVM中运行


DVM(Android使用)是一种基于开源JVM实现的改进JVM。Android上的所有Java应用程序都在DVM中运行。

没有问题。VirtualBox可以很好地运行android操作系统客户机。

没有问题。VirtualBox可以很好地运行android操作系统客户机。

主要的困难在于x86和ARM是完全不同的体系结构。它们有着完全不同的思维方式,不同的指令、不同的寄存器、不同的行为、不同的内存体系结构等等。甚至它们与其他硬件的接口方式也不同

就技术难度而言,这些体系结构没有相互兼容的指令或机制,因此ARM编译器依赖的行为在x86上不存在,反之亦然


对其中一个有足够的了解以实现任何主要功能通常意味着你没有花太多时间处理另一个,这只会增加难度。

主要的困难在于x86和ARM是完全不同的体系结构。它们有着完全不同的思维方式,不同的指令、不同的寄存器、不同的行为、不同的内存体系结构等等。甚至它们与其他硬件的接口方式也不同

就技术难度而言,这些体系结构没有相互兼容的指令或机制,因此ARM编译器依赖的行为在x86上不存在,反之亦然


对其中一个有足够的了解,可以实施任何重要的工作,这通常意味着你没有花太多时间与另一个打交道,这只会增加难度。

谢谢卢卡斯。我不知道它不在JVM上运行。我认为DVM是Android的JVM。谢谢你提供的信息。那么,让Android在x86上运行时,需要做的主要事情是什么?还是ARM以外的其他架构?将内核修改为x86指令集?您可以在此处找到他们为使系统运行所做的更改:谢谢Lukas。我不知道它不在JVM上运行。我认为DVM是Android的JVM。谢谢你提供的信息。那么,让Android在x86上运行时,需要做的主要事情是什么?还是ARM以外的其他架构?将内核修改为x86指令集?您可以在此处找到他们为使系统运行所做的更改: