VMware安装Android-x86示例

来源:互联网 发布:各域名后缀的含义 编辑:程序博客网 时间:2024/06/07 08:57

VMware安装Android-x86示例

一、VMware创建虚拟机

VMware创建虚拟机的教程网上很多了,唯一要注意的是硬盘类型必须为IDE:



二、VMware安装Android-x86

1.使用iso启动虚拟机,选择"Installation - Install Android-x86 to harddisk":


2.选择"Create/Modify partitions"创建分区:


3.使用方向键移动到"[New]",回车:


4.选择"[Primary]"创建主分区:


5.设置分区大小:


6.选择"[Bootable]"将sda1设置为启动盘:


7.选择"[Write]"将分区表写入磁盘:


8.输入yes确认操作:


9.选择"[Quit]"退出分区:


10.选择将Android-x86安装到sda1:


11.选择使用ext3文件系统格式化sda1:


12.确定格式化sda1:


13.选择"Yes"安装GRUB:


14.选择"No"不安装:


15.安装完成,选择"Reboot"重启:


16.Android-x86桌面:


三、常见问题

问:为什么安装Android-x86出错,提示说FATAL ERROR: Cannot open disk drive?
答:创建虚拟机时硬盘类型应为IDE,若为SCSI则会出现上述提示。

问:怎么安装apk到Android-x86?
答:可以使用adb进行安装,按Alt+F1使用netcfg命令查询eth0的ip地址:

然后在宿主机执行下边命令安装(端口固定为5555):
复制内容到剪贴板程序代码
adb connect 192.168.63.147:5555
adb install e:\wandoujia.apk

问:为什么执行adb install一直提示error: more than one device and emulator?
答:这是因为安装了多个模拟器,adb不知道apk要安装到哪个模拟,需要用-s参数指定一个模拟器,例如:
复制内容到剪贴板程序代码
C:\Users\Administrator>adb devices
List of devices attached
emulator-5554   device
192.168.63.147:5555     device
C:\Users\Administrator>adb -s 192.168.63.147:5555 install e:\wandoujia.apk
2184 KB/s (4035112 bytes in 1.804s)
        pkg: /data/local/tmp/wandoujia.apk
Success

问:为什么浏览器打不开网页?
答:按Alt+F1切换到命令行模式,执行下边命令,再按Alt+F7回到桌面试下应该能解决:
复制内容到剪贴板程序代码
su
dhcpcd eth0
setprop net.dns1 8.8.8.8

问:为什么浏览器能打开网页,但不能下载应用,安装的应用也都无法联网?
答:这是因为Android 4.0系统只认wifi,没有wifi设备系统就认为没有上网,为以太网卡配置IP和DNS之后可以骗过浏览器,但是系统不认那一套,所以上网的问题只能是初步解决,期待新版本会解决这个问题。

四、资源链接

[1].VMware Workstation:http://www.crsky.com/soft/1863.html
[2].Android-x86-4.0:https://android-x86.googlecode.com/files/android-x86-4.0-RC2-eeepc.iso
[3].Android-x86官网:http://www.android-x86.org/
[4].用 VirtualBox 安裝 Android-x86 4.0:http://www.cool3c.com/article/54626
[5].VMware安装Android-x86 4.0无法上网怎么办:http://www.gaohaipeng.com/107.html 


补充 


Android-x86虚拟机安装配置全攻略

http://www.cnblogs.com/没头脑的土豆

Android-x86虚拟机安装配置网上有很多,但是全部说明白的确不多,希望这篇文章能把主要的配置介绍给您,帮助您少走一些弯路。

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

一、安装Android-x86虚拟机

1、使用vmware安装Android-x86

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

运行vmware新建虚拟机:

2virtual box安装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 按钮

·        右边的菜单键(winctrl中间的键) = Android菜单键

三、设置虚拟机网络

1vmware设置

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.dns18.8.8.8

2virtual box设置:

使用桥接模式:

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

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

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

# ifconfig eth0192.168.120.200 netmask 255.255.255.0 up

 

将物理主机网关加入路由表

# route adddefault gw 192.168.120.254 dev eth0

 

d、设定dns,或者设置为与物理主机的dns一致的地址,如202.106.196.115

# setprop net.dns18.8.8.8

 

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

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

如果使用NAT模式,需要使用dncpcd自动分配ip地址,dns要和物理主机一样,示例如下:

# dhcpcd

# ifconfig eth0 up

# setprop net.dns1202.107.117.11

 

另外还需要配置端口转发

端口转发也可以在物理主机virtual box目录下使用如下命令:

# VBoxManagemodifyvm "Your Android VB name" --natpf1 adb,tcp,*,5555,*,5555

 

3、使设置长期生效

console模式下的配置信息似乎不会保存,使用以下方法可以保证设置一直生效

# Vi /etc/init.sh

 

在文件末尾增加如下配置:

ifconfig eth0 192.168.120.200 netmask255.255.255.0 up

route add defaultgw 192.168.120.254 dev eth0

setprop net.dns1 202.106.196.115

 

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

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

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

在虚拟机关闭以后进行。

方法一:对应的虚拟机的vbox文件的“<ExtraData>”下新开一行,添加以下内容

<ExtraDataItemname="CustomVideoMode1" value="480x800x16"/>

<ExtraDataItemname="CustomVideoMode2" value="320x480x16"/>

 

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

dos模式下进入VirtualBox安装目录,默认为C:\Program Files\Oracle\VirtualBox,执行如下命令

# VBoxManagesetextradata "VM name" "CustomVideoMode1""480x800x16"

# VBoxManagesetextradata "VM name" "CustomVideoMode2""320x480x16"

2、修改grubmenu.lst

启动虚拟机,到debug mode

RW模式重新挂载分区

# mount -oremount,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模式,使用netcfgip命令查询虚拟机的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、配置项目rundebug参数

运行或调试程序时就可以选择虚拟机作为调试设备了

如果eclipse找不到虚拟机设备,请检查系统是否安装豌豆荚等android连接程序,如果安装需要停止相关进程。

六、配置SD

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

1、将文件伪装成 SD

console模式下执行如下脚本:

# dd if=/dev/zeroof=/data/sdcard.img bs=1024 count=65536

# losetup/dev/block/loop7 /data/sdcard.img

# newfs_msdos/dev/block/loop7

 

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

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

# mount -oremount,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结束并写入硬盘分割区属性

输入n开始创建分区

 

输入p创建主分区

 

此步骤询问分区的序列号,因为sdb还没有分区,因此可以选择1

输入开始的块地址,默认即可

 

设置结束的块地址,该地址决定分区的大小,具体可以根据分区总大小以及此处提供的块数量

输入w写入分区并退出。

使用fat32位格式化分区:

# newfs_msdos/dev/sdb1

 

编辑 menu.lst文件

# vi/mnt/grub/menu.lst

 

添加kernel参数:

SDCARD=sdb1

七、安装应用

1、安装应用

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

# adb connect192.168.11.12

 

可以使用如下命令安装apk

# adb install -rHelloWorld.apk

 

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

more than one device andemulator

可以使用如下方法:

查找设备:

# adb devices

List of devicesattached

emulator-5554  device

 

安装

# adb -semulator-5554 install -r HelloWorld.apk

 

2、卸载

adb uninstallHelloWorld.apk

 

或者直接删除文件

# adb -semulator-5554 shell

# cd /data/app

# rmHelloWorld.apk

# exit

 

删除系统应用:

adb remount (重新挂载系统分区,使系统分区重新可写)。

adb shell

cd system/app

rm *.apk

 

 

分类: 语言与开发

标签: Android-x86, 虚拟机, VMWare, Virtual Box

 


0 0