在Virtualbox如何自定义Android x86的分辨率 - 小众知识

在Virtualbox如何自定义Android x86的分辨率

2014-08-10 06:09:35 苏内容
阅读:5073
1.虚拟机关闭以后执行命令,VBoxManage setextradata "Vb name" "CustomVideoMode1" "480×800x16" 其中“Vb name”替换为你自己的虚拟机的名字

2、启动虚拟机,到debug mode下,编辑文件:/mnt/grub/menu.lst
如果是手机分辨率则复制MDPI的几行,平板分辨率则复制HDPI的内容。把title改为自己想要的启动项名字,如“Android-x86 480×800x16”,在“kernel”后加上:
UVESA_MODE=480×800
3、在debug mode下重启Android-x86
运行命令/system/bin/reboot即可

VirtualBox + Android-x86 配置全攻略

    为什么要运行Android-x86呢,因为Google提供的Android模拟器实在是太卡了,想必用过它的都深有体会,而虚拟机下的Android-x86运行起来飞快,就如同真机操作一样。下面介绍一下Windows下VirtualBox + Android-x86配置的一整套解决方案,介绍略显粗略,但是涵盖了主要配置的精要部分,如需要更详细的操作步骤,网上有很多资料可以参考。

1、安装VirtualBox。
   次过程很简单,详细的资料请在网上查询,网上的资料很多。

2、VirtualBox下安装Android-x86虚拟机。
   同样网上的资料也多,一搜一大堆。需要注意的是:网卡控制芯片一定要选择PCnet-Fast III。


VirtualBox + android x86 模拟各种分辨率
Ken / 技术宅 / 2012/06/18 10:33 / 热度(2,068 views)

前几天说到用VirtualBox 运行android x86以提高调试速度 ,虚拟出了一个android pad。这里再讲一下如何设置,使得可以模拟更多不同的分辨率,以满足调试的需要。

下面以添加480×800 DPI240 和320×480 DPI160 两种常见的分辨率为例。按如下步骤:

    打开命令行窗口,进入到VirtualBox 安装目录下。我的虚拟机名称叫android_4,假设你的也是,执行:
    VBoxManage setextradata "android_4" "CustomVideoMode1" "480x800x16" 
    VBoxManage setextradata "android_4" "CustomVideoMode2" "320x480x16"
    
    VBoxManage setextradata "android_4" "CustomVideoMode1" "480x800x16"
    VBoxManage setextradata "android_4" "CustomVideoMode2" "320x480x16"

    注意是两个不同名字的mode。
    启动虚拟机,在系统启动菜单里选 Debug Mode 进入,然后执行:
    vi /mnt/grub/menu.lst

    复制“title Android-x86 4.0-RC1” 及其下两行,然后粘贴两份,并分别在新粘贴的两份里:
        修改“title” 行,改个标题;
        修改“kernel” 行,分别添加“UVESA_MODE=480×800 DPI=240” 和“UVESA_MODE=320×480 DPI=160”
        结果可参考下图:
    保存,重启,系统菜单里就多出来两个选项了,进入就是相应的分辨率和DPI 了。

P.S.

    文中“480×800”中的“x”是小写字母x。
    vi 操作请自行搜索:-p
    可自行尝试各种不同的分辨率和DPI 组合。


3、Android x86网络配置:
   Android-x86虚拟机安装好之后,进入虚拟机。
   Alt+F1进入终端
   Alt+F7退出终端
   netcfg 显示网络配置信息
   dhcpcd eth0 为eth0启动dHCP服务
   setprop net.dns1 8.8.8.8 设置DNS服务器

 PS:对于Android-x86虚拟机桥接模式下通过DHCP获得的IP与主机不再同一个网段,而且经常上使用一次使用的IP(对于这一次来说是一个不合适的IP)的解决办法:
 将网卡down掉,命令为:su ifconfig eth0  x.x.x.x netmask 255.255.255.0 down;然后重新通过DHCP获取IP,命令为:dhcpcd eth0。

4、修改分辨率:

(1)、在关闭虚拟机的情况下,在windows命令行运行命令"D:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "Android 4.0" "CustomVideoMode1" "480x640x16"
  其中:"D:\Program Files\Oracle\VirtualBox\VBoxManage.exe"是VirtualBox安装目录下的VBoxManage.exe文件,要更具实际情况而定,480x640是设定的分辨率。

(2)、启动虚拟机,在Android的启动画面选中选项后按'e'键,在kernel行上再按'e'键编辑内核启动参数,增加一个参数 vga=ask,编辑完毕后按回车保存修改结果,这时会回到上一个页面,此时按下b键启动。
(3)、此时系统会提示你按回车进入分辨率选择界面,按回车继续。进入页面之后,可以看到所有系统支持的分辨率,这时请寻找你刚才设定的分辨率,找到在先前设定的 480x800的分辨率,其前面的16进制代码360,如果想以该分辨率启动虚拟机,输入360再回车即可。

5、用Eclipse+Android x86进行应用程序的调试(不用桥接模式,即使PC完全无网络连接的情况下也可以完成调试):

(1)、VirtualBox的Host-only网卡开启DHCP服务,随意分配一个私有地址的IP网段,注意不要与宿主主机所在的网络在同一个网段。
(2)、虚拟机网络连接选择Host-only Adapter,网卡控制芯片PCnet-Fast III,启虚拟机动后,eth0通过DHCP获取IP.
(3)、LoopBack网卡设置:手动设置IP与Host-only Adapter的DHCP服务器分配的IP在同一个网段,但是IP不要与虚拟机的IP冲突,这时从宿主主机ping虚拟机的IP能够ping通。
(4)、进入D:\Android\android-sdk-windows\platform-tools目录,运行如下命令:adb connect 192.168.1.110。
  命令运行结果如下则证明虚拟机与调试器连接成功:
  * daemon not running. starting it now on port 5037 *
  * daemon started successfully *
  connected to 192.168.1.110:5555
(5)、接下来就可以在eclipse中通过run as。。。调试编写好的Android应用程序。

6、在Android x86虚拟机下安装.apk应用程序。
  (1)、首先将.apk文件下载到本地。
  (2)、进入D:\Android\android-sdk-windows\platform-tools目录
  (3)、运行命令adb push d:\test.apk /sdcard/
  (4)、安装:adb install test.apk,或者直接在虚拟机里面点击.apk文件进行安装。


附录:

软件下载:
http://www.android-x86.org/download
http://code.google.com/p/android-x86/downloads/list

虚拟机中主页、返回、关机、菜单对应的键盘按键:
Home键 -> Win键
返回键 -> ESC键
挂机键 -> alt+F4
菜单键 -> 键盘菜单键,一般在右边win键和ctrl键中间
返回键:鼠标右键/Esc键
menu键:鼠标滚轮
关机键:End键/F4键(2.2是短按。2/3好像是长按)
返回主界面:Home键/Windows键
 中英文切换:Space+Shift
PS:上述有些键可以实现对应的功能,有些不行,不知道是什么问题,具体哪些键可用你可以自己尝试。

在debug mode下重启Android-x86
运行命令/system/bin/reboot即可
扩展阅读
相关阅读
© CopyRight 2010-2021, PREDREAM.ORG, Inc.All Rights Reserved. 京ICP备13045924号-1