Android-x86 2.0 初體驗

By cwhuang, 2009 年 12 月 05 日

在釋出 Android-x86 1.6 版之後,接下來我們的重點工作都擺在 merge Android 2.0 branch,也就是代號為 Eclair 的版本上。

看版號也可以猜到,從 1.x 到 2.0 想必變動相當的大。的確,這讓我們在 merge 上吃足了苦頭。光是想辦法通過編譯,就已經十分困難。部分的修改只好暫時拿掉,日後再想辦法加上。包括在 frameworks/base 的 ethernet、部分 wifi 程式碼,以及電池狀態等。

好不容易通過編譯後,接下來開機起來就遇到問題。先是 mediaserver 會 crash。Yi 追蹤到最後,發覺是 android 的 linker 有問題,在處理 weak symbols 上似乎有瑕疵。但儘管找到了修正的方法,我們仍不明白,為何先前的 1.6 版不會產生同樣問題?

解決了 linker 的問題,在啟動 zygote 時又發覺 preloaded-classes 找不到的問題。所幸這問題比較容易,就照先前的方法,將 PhoneWindow 改為 MidWindow 即可。如此,終於讓我在 virtual box 上見到 Eclair 的第一個畫面。呵呵!

Eclair on Virtual Box

Eclair on Virtual Box

Eclair 設定畫面

Eclair Settings on Virtual Box

已將所有修改 push 到 git server 上。取得的方法仍跟從前是一樣:

$ repo init -u git://git.android-x86.org/manifest.git
$ repo sync

在 SourceForge mirror 上也可取得:

$ repo init -u git://android-x86.git.sf.net/gitroot/android-x86/manifest.git
$ repo sync

但這也只是 Android-x86 2.0 的起步而已。事實上我僅在 virtual box 的 uvesafb 模式下成功啟動過。在真正的 Eee PC 上仍舊跑不起來。不過若你是開發者,有興趣一起幫忙 debug,歡迎下載 source code 回去研究。

Leave a Reply

You must be logged in to post a comment.

OfficeFolders theme by Themocracy