Android X86版独家深度体验

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

[[5581]] 

【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平台的移动终端上还是有很大潜力的。

#p#

目前的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

然后重新编译即可。

#p#

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上网本开发团队
责任编辑:庞桂玉 来源: 51CTO
相关推荐

2013-03-28 11:34:06

2013-08-08 11:01:11

谷歌Android 4.3

2012-02-13 10:08:06

ARMWindows 8X86

2011-12-01 11:09:48

AMDx86服务器英特尔

2011-12-01 22:23:50

Android

2009-11-23 19:36:56

2011-05-31 14:44:55

Android

2011-12-09 21:10:50

Android

2010-02-04 16:27:24

Android X86

2011-09-15 10:21:22

AndroidX86架构英特尔

2010-02-05 16:04:45

X86 Android

2012-03-22 10:03:31

2009-08-14 09:30:04

Windows 7 Ux86下载

2011-12-19 10:55:58

云计算中国电信

2011-02-20 22:23:43

X86虚拟化XenServer

2011-11-10 09:26:48

Solaris 11

2014-10-10 14:18:58

2010-03-20 11:03:13

VMControl虚拟化管理

2009-08-05 09:02:26

Microsoft FIIS 7.0

2013-08-07 09:55:05

IBMGoogleNVIDIA
点赞
收藏

51CTO技术栈公众号