我想知道将Android移植到x86架构的技术难度。 由于它的源是开放的,在x86上运行的主要困难是什么? 或者问为什么它不能被编译成Java字节码以在PC上的JVM上运行是正确的?是因为Dalvik VM吗? 如果有人能解释一下,我会很感激。 谢谢。
答案 0 :(得分:4)
实际上,它已经移植到x86:http://www.android-x86.org/
此外,Android不在JVM中运行。 Android内核是一个经过修改的Linux内核,用C语言编写。您无法编译它以在JVM中运行。
DVM(由Android使用)是基于OpenSource JVM实现Apache Harmony的修改后的JVM。 Android上的所有Java应用程序都在DVM中运行。
答案 1 :(得分:1)
没有问题。 VirtualBox可以很好地运行Android OS客户机。
答案 2 :(得分:1)
主要的困难是x86和ARM是完全不同的架构。他们对它们有不同的心态,不同的指令,不同的寄存器,不同的行为,不同的内存架构等。甚至与其他硬件接口的方式也不同。
就技术难度而言,体系结构没有相互兼容的指令或机制,因此编译器依赖的行为在x86上不存在,反之亦然。
充分了解其中一个实施任何重大任务通常意味着你没有花太多时间与另一个人打交道,这只会增加难度。