Android X86版独家深度体验
而由于上网本市场的日益火爆,不甘局限于手机平台的Android操作系统也开始跃跃欲试,准备在X86平台上大展拳脚。据Google官方公布,支持x86平台的Live-Android项目0.2版本已经初步完成,现在已经开始提供LiveCD下载。用户只需要从官方下载ISO,刻录成光盘后重启用光盘引导,即可感受Google的这款手机操作系统。在我们等待Google Chrome操作系统之前,Android系统的LiveCD也许可以让我们提前感受一下Google的操作系统。另外,这款系统也支持VirtualBox或微软Virtual PC虚拟机,用户完全可以在虚拟机中进行尝试。
51CTO本次为您测试的是华硕为EEE-PC平台定制的eeepc-20090820版Android X86系统。感兴趣的用户可以在这里下载:http://android-x86.googlecode.com/files/eeepc-20090820.iso (51CTO编辑注:该地址目前已经转移到 http://www.android-x86.org/ 。如果从国内无法访问该站点的用户,也可以从 http://code.google.com/p/android-x86/downloads/list 获取最新的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平台的移动终端上还是有很大潜力的。
目前的Android X86 v0.9版提供了一个简单的安装程序,可以将它安装在X86的硬盘上,目前它支持的文件系统有:ext2,ext3,ntfs,fat32.通过使用这个安装程序,你可以无需清除硬盘中原本的资料,也不需要单独分区。可以直接将它安装在现有分区中,事实上,只不过是建立了一个目录,将Android存放到里面而已。除了可以安装到ext2,ext3,fat32之外,也可以安装到Windows 的ntfs上,做成双开机。并且可以同时安装多个Android的X86版本,将每个版本安装到单独目录中,然后自行修改开机选单。
下面我们看一下安装过程:
首先,从光驱或者USB启动Android X86.选择'Install Android to hard disk'。如下图:
然后,将会出现一个分区选择对话框,你可以选择现有分区安装Android X86,也可以通过选择'Create/Modify partitions',来创建或者修改一个分区。需要注意的是你可以将Android X86安装到移动存储设备中,如果驱动器没有出现在列表中,你可以选择'Detect devices'。如下图:
Android X86版可以和其它操作系统共存。如果所选择分区已经格式化过了,你可以选择'Do not format'来保留现有数据。要是不然,可以选择一种文件系统来格式化磁盘。需要注意的是所选择的类型必须要和分区ID匹配。否则将无法启动。如下图:
另外,如果你选择fat32来格式化磁盘,将会出现一个警告,显示Android将不会为fat32保存数据。你依旧可以安装,不过安装过后的Android系统将会像live CD系统一样工作。这是因为所有的数据在关机之后将会消失。因此我们不建议在fat32分区安装Android X86版。
之后系统会提示是否安装boot loader Grub。通常情况下我们都回选择是,除非你想通过手动安装boot loader。需要注意的是安装程序只会为Android X86创建启动项,如果想要多操作系统多重启动,你需要手动在/grub/menu.lst加载启动项。如图:
然后,安装程序将会启动,你会看见如下滚动条:
如果你看到下面的画面,安装程序就完成了。重启之后就可以直接运行Android X86。
如果想添加其它操作系统多重启动,你需要向/grub/menu.lst添加启动条目。例如,如果想要启动Window搜就需要加入以下内容:
title Windows rootnoverify (hd0,0) chainloader +1
如果下载最近的Android source来编译,可能会发现在X86平台无法启动的现象,会一直卡在Android的Logo进不去。这是由dalvik的修改造成的,只要让dalvik停留在前一版本:
$ cd dalvik $ git checkout 3102d52
然后重新编译即可。
Android系统只要是针对上网本,Mid等个人移动上网平台设计的,因此在界面设计方面也以简约为主,兼顾了日常应用等一些主要功能。
开机界面:
界面之间的切换通过鼠标滑动切换。相信用惯了Iphone的用户应该不会陌生。日后通过对多点触摸屏的支持,可以达到更好的人机交互性。悬浮的Google搜索工具条可以方便用户进行搜索操作。
系统菜单方面,Adnroid X86提供了摄像头,开发工具,浏览器,电子邮件,图片,音乐等多个功能。布局与手机相仿,可以使用户操作更加简单。
Android最重要的功能还是移动上网,因此下面我们就来测试一下它的网络功能。
目前,最新版的Android X86已经可以支持大部分的无线网卡。目前测试结果,早期EEE PC使用的ath5k driver和后续版本的ath9k driver都可以完美运行。而很多笔记本使用的ipw2200网卡也可以驱动了。而现在对于3G设备的支持也在开发中,通过无线网络与内置浏览器的搭配,可以使无线上网变得更加简单轻松。
在开发工具方面,可以利用内部工具进行一些简单的开发与调试。
终端模拟器
在多媒体方面,Android X86在音频方面没有任何问题。在PC机上和虚拟机上都可以进行音乐的播放。由于缺少第三方插件,导致在视频播放方面没有办法进行,这也是日后需要加强的。