|
|
51CTO旗下网站
|
|
移动端

Android X86版独家深度体验

Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由开放手机联盟(Open Handset Alliance)开发。

作者:翘楚来源:51CTO|2009-08-28 14:38

【51CTO.com独家特稿】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虚拟机,用户完全可以在虚拟机中进行尝试。

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。

这个系统实现了如下功能:

  1. 使用Kernel 2.6.29内核,并开启KMS功能。
  2. 支持提供了音效。
  3. 支持网络摄像头。
  4. 支持存储卡与移动存储设备的自动加载。
  5. 支持自动检测驱动模式。
  6. 支持Ethernet (DHCP)。
  7. 支持鼠标滚轮。
  8. 即时显示电池状况。
  9. 支持待机功能。
  10. 支持触摸屏幕。
  11. 支持压缩档案格式。
  12. 支持除错模式。
  13. 加入了BusyBox。
  14. 可以运行在虚拟机上如:Virtual Box, Qemu, VMware
  15. 发布了Live CD的ISO存档,以及Live USB Image存档。
  16. 支持无线网络并可从GUI开启并设定。
  17. 全新的安装模式,可以安装到ext3/ext2/ntfs/fat32磁盘格式。
  18. 可以载入firmware的hotplug。
  19. 改善键盘支持,可以使用usb键盘。
  20. 按下电源键可以开机。

而小组下一步的工作计划在于改善以下几个方面:

  1. 对于Wifi无线网络更好的支持(目前可以较好的支持at15k和at19k,而对于其它类型的设备则需要进一步完善)。
  2. 对于蓝牙设备的支持。
  3. 更完善的安装程序和多重启动系统。
  4. 多平台支持。
  5. Fn键的支持。
  6. 电源管理系统。
  7. 3D加速与高清设备的支持(目前已经由olv完成,需要进一步在平台上进行测试)。
  8. 多点触摸设备的支持。
  9. 3G移动设备的支持。
  10. 开发更多的第三方应用程序。

由此可见,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机上和虚拟机上都可以进行音乐的播放。由于缺少第三方插件,导致在视频播放方面没有办法进行,这也是日后需要加强的。

经过对Android X86版本的试用,只能说革命尚未成功,同志们还需接着努力。平台上很多最基本的功能还是没有实现。但是Android X86提倡的简单方便的操作性还是值得表扬的。毕竟科技产品要以人为本,对于上网本平台我们不需要繁琐的操作,我们需要的是像家里电视机一样,简简单单满足我们日常的应用就好了。而这正是Android所一直提倡的理念。随着Android X86平台的日渐完善,我们相信它的未来会越来越好。

【编辑推荐】

  1. Android 2.0现身Google I/O开发者大会
  2. Android曝安全漏洞黑客可安装击键记录软件
  3. Google公布Android开发路线图
  4. 谷歌在台湾成立Android上网本开发团队
【责任编辑:翘楚 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

我的运维日志系统构建之路

我的运维日志系统构建之路

数据驱动运维
共18章 | 我叫于小炳

191人订阅学习

CentOS文件服务的最佳实战

CentOS文件服务的最佳实战

涨薪跳槽必备技能
共15章 | 追风蚂蚁

88人订阅学习

小白网工宝典

小白网工宝典

一次搞定思科华为
共15章 | 思科小牛

431人订阅学习

读 书 +更多

Cisco CCNA 640-802题库

Cisco 640-802 Cisco Certified Network Associate (CCNA) Testinside CCNA 640-802 V14 最新题库与Testinside CCNA 640-802 Q&A 192 ...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客