自定义虚拟机分辨率
我们在开发时肯定需要测试不同的分辨率,那么如何自定义Android虚拟机的分辨率呢?
首先我们需要从Virtual Box的设定入手
打开cmd,进入Virtual Box的下你创建的虚拟机的目录,我创建的虚拟机叫Android-x86,我的账户是Administrator,在我Windows XP上的路径是
C:\Documents and Settings\Administrator\VirtualBox VMs\Android-x86
注意:
1.在不同操作系统下路径会有一些不同,请根据操作系统的实际情况寻找,原则上都是在你当前用户的个人文件夹里
2.Android-x86是我创建的虚拟机的名称,如果你的和我的不同,请修改为你创建的虚拟机的名称
在这里我们需要使用VirtualBox提供的命令行工具来给你的虚拟机添加一个自定义分辨率,例如我想添加一个现在流行的手机屏幕分辨率 480x800,那么我们输入的命令如下
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "Android-x86" "CustomVideoMode1" "480x800x16"
上面的命令中,加粗的部分是要根据你自己电脑上的情况进行修改的,相关解释如下:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
是Virtual Box命令行工具VBoxManage.exe的完整路径,请根据你电脑上安装的VirtualBox的实际路径修改
注意:如果路径中含有空格请使用双引号将整个路径包起来
Android-x86
这个是虚拟机的名称
480x800x16
这个是自定义的分辨率,请根据自己的需要修改,后面的16指的是16位颜色,请勿修改
如果你想增加更多的分辨率,请修改参数后多次运行该命令即可
修改完毕之后,启动虚拟机,在Android的启动画面选中选项后按两次e键编辑内核启动参数,增加一个参数 vga=ask,具体流程如下
启动画面按e键
进入新画面后再按一次e键
这时进入内核参数编辑状态,增加参数 vga=ask
编辑完毕后按回车保存修改结果,这时会回到上一个页面,此时按下b键启动
此时系统会提示你按回车进入分辨率选择界面,我们按回车继续
进入页面之后,你可以看到所有系统支持的分辨率,这时请寻找你刚才设定的分辨率,在下图中,可以找到在先前设定的 480x800的分辨率,注意其前面的16进制代码360,如果想以该分辨率启动虚拟机,我们就输入360再回车即可
回车后Android就会按照你设定的分辨率来启动了,下图是以480x800分辨率启动的Android-x86虚拟机截图
注意:
如果你需要系统采用你指定的分辨率启动,需要在每次Android虚拟机启动的时候执行上面步骤的操作来修改内核参数启动Android
如果你想Android在启动的时候就默认进入分辨率选择画面或者默认采用你指定的分辨率启动虚拟机,那么可以参考以下步骤
1. 进入android虚拟机后按alt+F1进入命令行
2. 输入mkdir /data/fs
3. 挂载硬盘,使用下列命令
mount -t 硬盘格式 /dev/block/硬盘名称 /data/fs
硬盘格式为你虚拟机硬盘的格式,我这里是ext3 硬盘名称则是你虚拟机的
硬盘名称我这默认是sda1,表示第一个sata硬盘, linx下具体的硬盘命名规则请自行Google之
mount -t ext3 /dev/block/sda1 /data/fs
将硬盘挂在到 /data/fs文件夹上
4. vi /data/fs/grub/menu.list 编辑启动菜单列表 (vi这个命令行编辑器怎么用请自行Google之)
5. 和刚才启动时一样,在第一个kernel那一行的末尾增加 vga=ask 后保存
6. 重启虚拟机,这时候你就会发现每次Android启动的时候就会询问分辨率了
5.使用eclipse ADT在虚拟机上远程调试开发
现在虚拟机已经配置完成,下面来讲解如何使用eclipse来在上面运行和调试Android应用程序
在前面设定虚拟机的时候我把虚拟机的网卡设置成了bridged adapter,这样虚拟机在局域网中相当于一台独立电脑,你可以给它设置一个ip或者讲其网卡设置为dhcp状态来自动获取ip,我下面只讲解一下在dhcp状态下如何查看android虚拟机ip的方法:
进入android虚拟机,按alt+F1进入命令,输入netcfg命令来查看网络状态,参考界面如下
其中eth0就是当前的网卡,后面的ip地址就是通过dhcp获得的ip地址
弄清楚之后再按alt+F7返回图形界面
此时我们打开eclipse,进入android开发插件的设定界面,选择ddms,勾选 Use ado host, 并在ADT host value 一栏填写虚拟机的ip地址,具体界面请参看下图
选择ok保存后,在ddms界面的device菜单上选择重启adb服务,重启后,就能看到ddms连接上虚拟机了
接下来就能和平常一样在虚拟上运行和测试你的Android程序了,enjoy~
最后总结一下这个环境的优缺点:
优点:
1.高速,相比Android SDK的虚拟机,无论是启动还是运行,本虚拟机要快上很多很多,让你可以流畅的运行测试你的Android应用,当然,也能舒服的在电脑上体验到Android系统:)
2.可以模拟平板电脑的环境
缺点:
1.硬件支持还是悲剧,像打电话,短信,重力感应,GPS摄像头什么的你还是得去弄台真机器调试(不过这些东西本来就不是模拟器能做的)
另外补充一下虚拟机中主页、返回、关机、菜单对应的键盘按键
Home键 -> Win键
返回键 -> ESC键
挂机键 -> alt+F4
菜单键 -> 键盘菜单键,一般在右边win键和ctrl键中间