VMware虚拟机安装配置Android-x86详细教程


VMware虚拟机
安装配置Android-x86详细教程
工作环境:cn_windows_7_ultimate_with_sp1_x86
工具:VMware Workstation 10.0

android-x86-2.3-RC1-eeepc.iso镜像

1. 启动 VMware Workstation 软件,单击“新建虚拟机”。
2. 按照新建虚拟机向导的指示配置虚拟机。选择已获取的 Android-x86 系统安装包为安装盘镜像文件。其他选项可自行设置。
 
3.此处可按VMware Workstation 10.0推荐的设置安装完成虚拟机,但是android-x86-2.3-RC1-eeepc.iso用此向导安装的虚拟机无法联网,只有android-x86-2.2-generic.iso可以联网,其它android-x86-2.3-RC1-tegav2.iso,android-x86-2.3-RC1-tegav2.iso均无法联网,所以,我们用第二种方式,如下:
选择VMware Workstation 6.0
打开android-x86-2.3-RC1-eeepc.iso镜像
 
一路点击下一步,最后网络类型里面选择NAT模式
 
 
一直到构建完成
直接高亮选中“Installation - Install Android*-x86 to harddisk(安装 – 将 Android-x86 安装到硬盘)”,回车。也可以用下面的方法分区安装:
 
使用上下方向键高亮选中“Installation - Install Android*-x86 to harddisk(安装 – 将 Android-x86 安装到硬盘)”,然后按“Tab”键进入编辑模式,并输入以下内容(区分大小写。见上图):
 
在DEBUG后输入 DATA=sda1 SDCARD=sda5 ,注意空格,否则出现错误不能安装


这一步非常重要,因为我们需要设置 Android* 的主要分区和 SD 卡的逻辑分区,以便之后能够使用模拟 SD 卡来传输文件。您将发现这非常方便。
 
 
在下几个屏幕上,依次执行以下操作:


? 创建/修改分区
? 高亮显示可用空间,并使用 左右方向键选择“New(新建)”
? 选择“Primary(主要)”
? 将 8000MB 设置为您的 sda1 分区(或者,您也可以设置您喜欢的大小,如果硬盘空间足够大)
? 选择“Begingning(开始)”
? 选择“Bootable(启动盘)”
? 选择向下方向键
? 选择“New(新建)”
? 选择“Logical(逻辑)”
? 选择所有剩余的硬盘空间
? 确保不要将 sda5 设置为启动盘(不要选择“Bootable(启动盘)”)
? 选择“Write(写入)”
? 选择“Yes(是)”确认写入。
? 高亮显示剩余的可用空间)”)
? 选择“Quit(退出)”
 
使用 左右方向键选择“New(新建)”
 
选择“Primary(主要)”
将 8000MB 设置为您的 sda1 分区(或者,您也可以设置您喜欢的大小,如果硬盘空间足够大)
选择“Begingning(开始)”
选择“Bootable(启动盘)”
出现BOOT,表示设为了启动盘,然后按下方向键↓
选择“New(新建)”
选择“Logical(逻辑)”
选择所有剩余的硬盘空间
确保不要将 sda5 设置为启动盘(不要选择“Bootable(启动盘)”)  写入分区
输入yes,虽然显示不全,但还是完整输入,回车
选择“Quit(退出)”


? 您将看到以下表格创建完成:
单击“OK(确定)”继续安装,并完成以下步骤:
? 将 sda1 格式化为 ext3
进度
单击“Yes(是)”安装启动加载器 grub
? 单击“Yes(是)”将 /system 目录安装为可读写目录
? 选择“Create a fake SD card(创建一个虚拟 SD 卡)”
? 全部使用默认大小 2047 MB
全部安装完成,重新启动
可以看到三种启动模式,我们还可以编程自定义模式,设置屏幕大小,涉及到linux语言,vi编辑器,以下的步骤都可以不做了
我们先择第三个,Debug mode,进入编辑模式
以 RW 模式重新挂载分区
# mount -o remount,rw /mnt
 
编辑文件:
# vi /mnt/grub/menu.lst
  
如果是手机分辨率则复制MDPI的几行,平板分辨率则复制HDPI的内容。把title改为自己想要的启动项名字,如“Android-x86 480×800x16”,在“kernel”后加上:
UVESA_MODE=480x800
 
320×480的分辨率也类似进行。
这是一个linux的vi编辑器,童鞋们忘掉windows的习惯吧
 
需要用到vi的复制、粘贴、删除命令
 
补充:Vi有三种基本的工作模式:指令行模式、文本输入模式、行末模式。他们的相互关系如下所示。
指令模式(Command Mode) 下输入 a、i、o进入文本输入模式(Input Mode)
文本输入模式(Input Mode) 下按ESC进入指令模式(Command Mode)
 
指令模式(Command Mode)下输入:进入末行模式(Last line Mode)
末行模式(Last line Mode)下指令错误则返回指令模式(Command Mode)
删除,复制,粘贴
      --> x,X  : 在一行中,x为向后删除一个字符(相当于del键),X为向前删除一个字符(相当于backspace键)。
      --> dd   : 删除光标所在的那一整行。
      --> ndd  : n 为数字。从光标开始,删除向下n列。
      --> yy   : 复制光标所在的那一行。  
      --> nyy  : n为数字。复制光标所在的向下n行。
      --> p,P  : p 为将已复制的数据粘贴到光标的下一行,P则为贴在光标的上一行。
      --> u    : 复原前一个操作
      --> CTRL + r : 重做上一个操作。
      --> 小数点'.': 重复前一个动作。
简单讲到这里,接下来进行如何操作
 
按ESC进入指令模式
将光标定位在第一个title Android-x86 2.3-RC1 (MDPI)那一行
3yy ,即复制title Android-x86 2.3-RC1 (MDPI)的三行
P  即粘贴,如下,注意行距,任何一方面出错新建的模式都无法运行
我们要修改屏幕大小,如在“kernel”后加上:UVESA_MODE=480x800
将新建的模式名字定义为title Android-x86 2.3-RC1 (480x800)
 
修改完后如下
按ESC进入指令模式,输入:wq  即保存退出
在debug mode下重启Android-x86
运行命令
# /system/bin/reboot
 
多了一个新建的模式,我们选择启动
 
设置的屏幕有些大,显不示全,在全屏模式中就好啦
 
我们也可以在启动菜单中选择或编辑屏幕分辨率,只对本次启动有效,操作如下:
方法一:
我们随便选择一种模式,比如第三项吧,连按两次 e 键 出现如下
在上面的屏幕上,我们可以单独编辑屏幕的大小,如:按鼠标方向键向右
也是在“kernel”后加上:
UVESA_MODE=480x800
320×480的分辨率也类似进行。
方法二:
在上面屏上输 vga=ask,注意空格,回车
按 b 键 回车
输入代号即可,如36F,即可选选译屏幕720x480 x16大小,(最好是16位的,其它的好像不行),效果如下
 
接下来查看虚拟SD卡是否加载


 选择Storage
成功加载虚拟卡,我们设置一下语言,整个过程就算完成了
 
我们打开系统自带的浏览器,测试能否上网


 手机凤凰网
本人用wlan上网,google,凤凰网都能打开,建议下载第三方浏览器,系统自带的容易崩溃
红色圈里的提示不用管它,清除它就行了
我们重启虚拟系统,毕竟这么大的屏来回切换全屏有些不方便,我们进入系统自带的模式


 
运行应用出现屏幕旋转怎么办?你需要安装定向控制(Orientation Control)软件。


 屏幕旋转了90度


 打开定向控制,可以在里面设置选项


 打开定向开关
将定向开关设置为横屏即可。


结束 
二、Android-x86 有内建的快捷键
较常用的有:
·Alt-F1 = 进入 console 模式
·Alt-F7 = 回到 GUI 模式
·Alt-F9 = 图形界面
·Alt-F10 = 画面旋转 180 度
·Alt-F10 = 画面旋转 180 度
·Alt-F11 = 画面向左旋转 90 度
·Alt-F12 = 画面向右旋转 90 度
·Ctrl-P = 开启Android设定画面
·"Windows 键"相当于 Android 的 Home 按钮。
·"Esc" 相当于 Android 的 Back 按钮
·F2 相当于 Android 的 Menu 按钮
·F3 相当于 Android 的 Search 按钮
·右边的菜单键(win和ctrl中间的键) = Android菜单键
 
·        返回键:鼠标右键/Esc键
·        menu键:鼠标滚轮
·        关机键:End键/F4键(2.2是短按。2/3好像是长按)
·        返回主界面:Home键/Windows键
·        中英文切换:Space+Shift
 
 
补充:另一种方式配置SD卡,方法如下:
在console模式下执行如下脚本:
# dd if=/dev/zero of=/data/sdcard.img bs=1024 count=65536 # losetup /dev/block/loop7 /data/sdcard.img # newfs_msdos /dev/block/loop7
 
其中65536表示64MB的SD卡,可以修改此数字增大SD卡大小
重新启动虚拟机进入debug模式,以 RW 模式重新挂载分区
# mount -o remount,rw /mnt
 
编辑文件:
# vi /mnt/grub/menu.lst
 
向 kernel 中添加一个参数:
SDCARD=/data/sdcard.img
 
当然也可以修改SD卡大小
三、Android x86与宿主机互访
   需要用到两个软件, 宿主机安装Http File Server ,Android x86安装 android ftp


下载完毕后安装,然后进行设置:
点击保存
启动FTP,确保其处于运行状态
然后主机上安装Http File Server,界面如下:
我们随便从电脑上找个文件拖进Http File Server
进入到Android,打开浏览器,将上图中红色方框内的地址复制到浏览里,回车,即可下载到本地

若出现如上提示,在文件名里面,删除/\*<>#等类似的字符即可



补充



 分别针对VMWare和Virtual Box两种虚拟机介绍安装配置方法,并描述了如何使用eclipse进行调试。

一、安装Android-x86虚拟机

1、使用vmware安装Android-x86

在http://www.android-x86.org/download下载安装包,下载eeepc版本的iso文件,本例以4.0RC2版本为例。

运行vmware新建虚拟机:将内存调到512M。

2、virtualbox安装Android-x86

在 Virtual Box 中创建一台新的机器:

  • target OS(目标 OS): 选择 Linux
  • target OS version(目标 OS 版本): others
  • 我选择了 1GB 内存和 1 个 CPU(其他选项保留默认值)
  • 增加一个新的硬盘:VDI drive,动态大小,512M
  • 在 storage(存储)选项中添加一个指向所下载 iso 镜像的 CDROM

3、开始安装

 

从 boot(启动)菜单中选择 install to hard disk(安装到硬盘)。

接下来创建分区,依次选择newprimarybootablewrite创建一个可引导的主分区。

接下来两步选择yes,其中第二步为开启GRUB管理模式,可以用于调试程序。

二、Android-x86 有内建的快捷键

较常用的有:

  • Alt-F1 = 进入 console 模式
  • Alt-F7 = 回到 GUI 模式
  • Alt-F9 = 图形界面
  • Alt-F10 = 画面旋转 180 度
  • Alt-F10 = 画面旋转 180 度
  • Alt-F11 = 画面向左旋转 90 度
  • Alt-F12 = 画面向右旋转 90 度
  • Ctrl-P = 开启Android设定画面
  • "Windows 键"相当于 Android 的 Home 按钮。
  • "Esc" 相当于 Android 的 Back 按钮
  • F2 相当于 Android 的 Menu 按钮
  • F3 相当于 Android 的 Search 按钮
  • 右边的菜单键(win和ctrl中间的键) = Android菜单键

三、设置虚拟机网络

1、vmware设置

a、安装虚拟机时需要使用nat模式

b、如果/data/misc/dhcp目录不存在,则进入console模式创建

# mkdir /data/misc/dhcp

 

c、关闭虚拟机及vmware,修改vmx文件

ethernet0.virtualDev = "vlance"

 

d、开启虚拟机,进入console模式

# su 
# dhcpcd eth0

 

e、设定dns,或者设置为与宿主机的dns一致的地址

 

# setprop net.dns1 8.8.8.8

2、virtualbox设置:

使用桥接模式:

a、使用netcfg命令查看eth0设备是否已经分配ip地址

b、开启虚拟机,使用ALT+F1进入console模式,输入su切换root用户

c、指定ip地址,执行如下脚本,ip地址需要和物理主机在同一个网段中
# ifconfig eth0 192.168.120.200 netmask 255.255.255.0 up
 

将物理主机网关加入路由表
# route add default gw 192.168.120.254 dev eth0
 

d、设定dns,或者设置为与物理主机的dns一致的地址,如202.106.196.115
# setprop net.dns1 8.8.8.8

另外需要特别注意的是,如果豌豆荚等进程处于启动状态,网络设置会失败,使用netcfg命令会发现根本没有eth0设备。

所以在安装虚拟机之前一定要停止豌豆荚等软件。

如果使用NAT模式,需要使用dncpcd自动分配ip地址,dns要和物理主机一样,示例如下:
# dhcpcd 
# ifconfig eth0 up 
# setprop net.dns1 202.107.117.11
 

另外还需要配置端口转发

端口转发也可以在物理主机virtual box目录下使用如下命令:
# VBoxManage modifyvm "Your Android VB name" --natpf1 adb,tcp,*,5555,*,5555

3、使设置长期生效

在console模式下的配置信息似乎不会保存,使用以下方法可以保证设置一直生效
# Vi /etc/init.sh
 

在文件末尾增加如下配置:
ifconfig eth0 192.168.120.200 netmask 255.255.255.0 up
route add default gw 192.168.120.254 dev eth0
setprop net.dns1 202.106.196.115

四、配置分辨率,可以分别模拟手机和平板移动设备

Virtual box可以配置分辨率,vmware还没有很好的办法,因此以Virtual box为例。

1、在虚拟机添加自定义分辨率

在虚拟机关闭以后进行。

方法一:对应的虚拟机的vbox文件的“”下新开一行,添加以下内容
<ExtraDataItem name="CustomVideoMode1" value="480x800x16"/> 
<ExtraDataItem name="CustomVideoMode2" value="320x480x16"/>
 

方法二:执行命令,其中“VM name”替换为你自己的虚拟机的名字

在dos模式下进入VirtualBox安装目录,默认为C:\Program Files\Oracle\VirtualBox,执行如下命令
# VBoxManage setextradata "VM name" "CustomVideoMode1" "480x800x16" 
# VBoxManage setextradata "VM name" "CustomVideoMode2" "320x480x16"

2、修改grub的menu.lst

启动虚拟机,到debug mode下

以 RW 模式重新挂载分区
# mount -o remount,rw /mnt
 

编辑文件:
# vi /mnt/grub/menu.lst
 

如果是手机分辨率则复制MDPI的几行,平板分辨率则复制HDPI的内容。把title改为自己想要的启动项名字,如“Android-x86 480×800x16”,在“kernel”后加上:
UVESA_MODE=480x800
 

320×480的分辨率也类似进行。

3、在debug mode下重启Android-x86

运行命令
# /system/bin/reboot
 

即可

五、配置eclipse允许使用虚拟机远程调试开发

1、查询ip地址

进入cosole模式,使用netcfg或ip命令查询虚拟机的ip地址:

其中eth0表示虚拟机的网络设备,后面的ip地址即为虚拟机的ip地址。

2、配置eclipse

使用Alt+F7返回图形界面。



打开eclipse,进入Android开发插件的设定界面,选择ddms,勾选 Use ado host, 并在ADT host value 一栏填写虚拟机的ip地址,具体界面请参看下图:

打开devices视图,如果未加载devices视图,可以使用如下方法打开devices视图

devices视图中选择重启adb:

或者也可以使用命令行重启adb,新版的adb命令位于platform-tools目录下:
# adb kill-server 
# adb start-server
 



重新启动后可以看到虚拟机设备已经在列表中了

3、配置项目run或debug参数

运行或调试程序时就可以选择虚拟机作为调试设备了
如果 eclipse 找不到虚拟机设备,请检查系统是否安装豌豆荚等 Android 连接程序,如果安装需要停止相关进程。

六、配置SD卡

配置SD卡可以使用多种方式。

1、将文件伪装成 SD 卡

在console模式下执行如下脚本:

# dd if=/dev/zero of=/data/sdcard.img bs=1024 count=65536
# losetup /dev/block/loop7 /data/sdcard.img
# newfs_msdos /dev/block/loop7

 

其中65536表示64MB的SD卡,可以修改此数字增大SD卡大小

重新启动虚拟机进入debug模式,以 RW模式重新挂载分区

# mount -o remount,rw /mnt

 

编辑文件:

# vi /mnt/grub/menu.lst

 

向 kernel 中添加一个参数:

SDCARD=/data/sdcard.img

2、使用独立的分区

首先需要在 VirtualBox 中创建一个新的硬盘,然后将其配属给 VM:

然后以debug模式启动VM,新建的分区默认挂载为/dev/sdb文件

创建分区前可以查询分区情况:

# fdisk -l /dev/sdb

 

使用 fdisk 创建一个新的分区。分区创建完成后,对它进行格式化:

# fdisk /dev/sdb

 

该命令后续操作包含如下参数:

  • 输入 m 显示所有命令列示。
  • 输入 p 显示硬盘分割情形。
  • 输入 a 设定硬盘启动区。
  • 输入 n 设定新的硬盘分割区。
    • 输入 e 硬盘为[延伸]分割区(extend)。
    • 输入 p 硬盘为[主要]分割区(primary)。
  • 输入 t 改变硬盘分割区属性。
  • 输入 d 删除硬盘分割区属性。
  • 输入 q 结束不存入硬盘分割区属性。
  • 输入 w 结束并写入硬盘分割区属性

VMware虚拟机安装配置Android-x86详细教程_第1张图片

七、安装应用

1、安装应用

如果未连接设备,可以在物理主机的命令行模式下使用如下命令连接
# adb connect 192.168.11.12
 

可以使用如下命令安装apk:
# adb install -r HelloWorld.apk
 

但有时安装的时候报如下错误:

more than one device and emulator

可以使用如下方法:

查找设备:
# adb devices
List of devices attached
emulator-5554   device
 

安装
# adb -s emulator-5554 install -r HelloWorld.apk
 

2、卸载

adb uninstall HelloWorld.apk
 

或者直接删除文件
# adb -s emulator-5554 shell
# cd /data/app
# rm HelloWorld.apk
# exit
 

删除系统应用:
adb remount (重新挂载系统分区,使系统分区重新可写)。
adb shell
cd system/app
rm *.apk

你可能感兴趣的:(Android,x86)