我想知道將Android移植到x86架構的技術難點。 由於它的源代碼是開放的,所以在x86上運行的主要困難是什麼? 或者問爲什麼無法編譯爲Java字節碼以在PC上的JVM上運行?是因爲Dalvik VM嗎? 我會很感激,如果有人可以解釋這一點。 謝謝。爲什麼將Android移植到x86很困難?
0
A
回答
4
實際上,它已經被移植到86:http://www.android-x86.org/
另外,Android不在JVM上運行。 Android內核是一個經過修改的Linux內核,並用C語言編寫。您無法將其編譯爲在JVM中運行。
DVM(由Android使用)是基於OpenSource JVM-實現Apache Harmony的修改後的JVM。 Android上的所有Java應用程序都運行在DVM上。
1
1
主要困難是x86和ARM是完全不同的體系結構。他們對他們有完全不同的心態,不同的指令,不同的寄存器,不同的行爲,不同的內存架構等。即使他們與其他硬件的接口方式也不同。
就技術難點而言,體系結構沒有彼此兼容的指令或機制,因此x86編譯器所依賴的行爲在x86上不存在,反之亦然。
瞭解足夠的關於其中的一個來實現重要的任務通常意味着你沒有花太多時間處理另一個問題,這隻會增加難度。
相關問題
- 1. 將C++移植到C++/CLI很困難嗎?
- 2. 爲什麼瀏覽Scala api很困難?
- 3. 爲什麼將新文件添加到新回購很困難?
- 4. 將現有webapp移植到Google TV有多困難?
- 5. 使用Android SDK(或Marmalade等)將C++遊戲移植到Google Play有多困難
- 6. 爲什麼在Java中停止線程很困難?
- 7. 爲什麼比較浮點值很困難?
- 8. 爲什麼使用Doctrine使用MySQL ENUM很困難?
- 9. Android x86移植,無法使其工作
- 10. 將JavaME移植到Android
- 11. 將Android移植到nanoTesla A8
- 12. 將TCP客戶端和服務器從Linux移植到QNX的困難Neutrino
- 13. 爲什麼XML解析如此困難?
- 14. 是否很難移植我的iOS應用程序到Android應用程序?
- 15. 使用Android將Android移植到Android NDK
- 16. 什麼是一個很好的模擬器移植到Silverlight 3?
- 17. 移植C#到Android
- 18. 爲什麼不能將命令從bash移植到awk中?
- 19. 爲什麼在HTML中居中很難?
- 20. 爲什麼nlogn很難翻轉?
- 21. 遇到困難
- 22. 將函數轉換爲單一方程很困難(constexpr)
- 23. 將貝寶集成到我的項目中很困難
- 24. 從BlogEngine.Net到WordPress的遷移困難
- 25. 爲什麼我在處理web.config時遇到困難?
- 26. 爲什麼在graphics2D中繪製旋轉/包裹的文字很困難?
- 27. 爲什麼它很難得到只有1行mysql數據到Android?
- 28. 將空的encryptedlocalstorage移植到android的sharedprefs
- 29. 將Android的Java VM移植到iPhone上?
- 30. Android:我如何將ExecuteScalar移植到Java?
謝謝盧卡斯。我不知道它不能在JVM上運行。我認爲DVM是Android的JVM。感謝您的信息。那麼讓Android在x86上運行時必須要做的主要事情是什麼?或者除ARM之外的其他架構?將內核修改爲x86指令集? – madu
您可以在這裏找到他們爲使系統運行所做的更改:http://git.android-x86.org/ –