2011-11-17 82 views
0

我想知道將Android移植到x86架構的技術難點。 由於它的源代碼是開放的,所以在x86上運行的主要困難是什麼? 或者問爲什麼無法編譯爲Java字節碼以在PC上的JVM上運行?是因爲Dalvik VM嗎? 我會很感激,如果有人可以解釋這一點。 謝謝。爲什麼將Android移植到x86很困難?

回答

4

實際上,它已經被移植到86:http://www.android-x86.org/

另外,Android不在JVM上運行。 Android內核是一個經過修改的Linux內核,並用C語言編寫。您無法將其編譯爲在JVM中運行。

DVM(由Android使用)是基於OpenSource JVM-實現Apache Harmony的修改後的JVM。 Android上的所有Java應用程序都運行在DVM上。

+0

謝謝盧卡斯。我不知道它不能在JVM上運行。我認爲DVM是Android的JVM。感謝您的信息。那麼讓Android在x86上運行時必須要做的主要事情是什麼?或者除ARM之外的其他架構?將內核修改爲x86指令集? – madu

+0

您可以在這裏找到他們爲使系統運行所做的更改:http://git.android-x86.org/ –

1

沒有問題。 VirtualBox可以運行一個android操作系統來賓機器。

+0

永遠不會知道! Thanx提示 – barmaley

1

主要困難是x86和ARM是完全不同的體系結構。他們對他們有完全不同的心態,不同的指令,不同的寄存器,不同的行爲,不同的內存架構等。即使他們與其他硬件的接口方式也不同。

就技術難點而言,體系結構沒有彼此兼容的指令或機制,因此x86編譯器所依賴的行爲在x86上不存在,反之亦然。

瞭解足夠的關於其中的一個來實現重要的任務通常意味着你沒有花太多時間處理另一個問題,這隻會增加難度。

相關問題