Android是基于Linux內核的軟件平臺和操作系統,是Google在2007年11月5日公布的手機系統平臺,早期由Google開發,后由開放手機聯盟(Open Handset Alliance)開發。它采用了軟件堆層(software stack,又名以軟件疊層)的架構,主要分為三部分。低層以Linux內核工作為基礎,只提供基本功能,其他的應用軟件則由各公司自行開發,以java作為編寫程序的一部分。另外,為了推廣此技術,Google和其它幾十個手機公司建立了開放手機聯盟(Open Handset Alliance)。Android在未公開之前常被傳聞為Google電話或gPhone。大多傳聞認為Google開發的是自己的手機電話產品,而不是一套軟件平臺。
而由于上網本市場的日益火爆,不甘局限于手機平臺的Android操作系統也開始躍躍欲試,準備在X86平臺上大展拳腳。據Google官方公布,支持x86平臺的Live-Android項目0.2版本已經初步完成,現在已經開始提供LiveCD下載。用戶只需要從官方下載ISO,刻錄成光盤后重啟用光盤引導,即可感受Google的這款手機操作系統。在我們等待Google Chrome操作系統之前,Android系統的LiveCD也許可以讓我們提前感受一下Google的操作系統。另外,這款系統也支持VirtualBox或微軟Virtual PC虛擬機,用戶完全可以在虛擬機中進行嘗試。
測試的是華碩為EEE-PC平臺定制的eeepc-20090820版Android X86系統。感興趣的用戶可以在這里下載:http://android-x86.googlecode.com/files/eeepc-20090820.iso
平臺的源代碼可以從http://code.google.com/p/android-x86/wiki/GetSourceCode這里進行下載。
如果想要下載源代碼進行編譯,可以使用:
$ repo init -u git://git.android-x86.org/android-x86/platform/manifest.git
$ repo sync
$ make iso_img usb_img TARGET_PRODUCT=eeepc
Android系統中雖然包含了kernel tree但是在編譯的時候完全用不到。事實上,kernel就是以prebuild binary(預先編譯好的二進制檔)的方式被加進最后產生的鏡像文件中的。對于這種做法,在手機操作系統上沒有任何問題,反正要編譯什么功能都已經預先知道。然而對于X86平臺來說,這樣的做法顯然不妥當。每個人的需求不相同,所需要的kernel也就不同。另外kernel的更新速度很快,尤其在X86平臺。因此比較聰明的做法就是在編譯Android的時候加入kernel編譯,并直接將編譯結果加入鏡像文件中。新版的源代碼加入了kernel編譯規則(build/core/kernel.mk),給X86預設的config存檔放在kernel/arch/x86/configs/android-x86_defconfig。在編譯過程中,會以這個config為主,產生kernel和對應子組塊。也可以單獨編譯kernel:
$ make kernel TARGET_PRODUCT=eeepc
也可以使用自己的config存檔。只要將它放入kernel/arch/x86/configs中,并且指定變量TARGET_KERNEL_CONFIG 就好(假設config 存檔名叫my_defconfig):
$ make iso_img TARGET_PRODUCT=eeepc TARGET_KERNEL_CONFIG=my_defconfig
這個全新的Android X86平臺是由Beyounn和Cwhuang主持設計的。項目的主要目的在于為X86平臺提供一套完整的Android系統解決方案。這個項目提供了一套完整的可行源代碼樹,配套文檔以及Live CD與Live USB。
系統的最新版本是發布于2009年7月的Android X86 V0.9。
這個系統實現了如下功能:
使用Kernel 2.6.29內核,并開啟KMS功能。
支持提供了音效。
支持網絡攝像頭。
支持存儲卡與移動存儲設備的自動加載。
支持自動檢測驅動模式。
支持Ethernet (DHCP)。
支持鼠標滾輪。
即時顯示電池狀況。
支持待機功能。
支持觸摸屏幕。
支持壓縮檔案格式。
支持除錯模式。
加入了BusyBox。
可以運行在虛擬機上如:Virtual Box, Qemu, VMware
發布了Live CD的ISO存檔,以及Live USB Image存檔。
支持無線網絡并可從GUI開啟并設定。
全新的安裝模式,可以安裝到ext3/ext2/ntfs/fat32磁盤格式。
可以載入firmware的hotplug。
改善鍵盤支持,可以使用usb鍵盤。
按下電源鍵可以開機。
而小組下一步的工作計劃在于改善以下幾個方面:
對于Wifi無線網絡更好的支持(目前可以較好的支持at15k和at19k,而對于其它類型的設備則需要進一步完善)。
對于藍牙設備的支持。
更完善的安裝程序和多重啟動系統。
多平臺支持。
Fn鍵的支持。
電源管理系統。
3D加速與高清設備的支持(目前已經由olv完成,需要進一步在平臺上進行測試)。
多點觸摸設備的支持。
3G移動設備的支持。
開發更多的第三方應用程序。
由此可見,Android X86版還處于雛形階段,系統還需要很多完善的地方。但是經過我們的試用,發現這個系統在X86平臺的移動終端上還是有很大潛力的。