最近一个android项目中使用了1920*1080分辨率的大屏,但是设备不在手边,androidSDK自带的模拟器又没有这么大的分辨率,没法测试,无奈之下就用VirtualBox+android-x86模拟了一个大屏环境。
VirtualBox+android-x86的安装过程网上有很多博文,都写的很详细,如:http://anzhuo.paojiao.cn/android/allinfo/2/69762.html,其实VmWare也可以装,但是VmWare出来的分辨率都是宽屏,目前好像还没有办法改,virtualbox倒是可以通过vboxmanage.exe灵活自定义各种分辨率,具体方法可参考:http://kenjane.com/virtualbox-android-x86-with-multi-resolutions/
很多同学都说按照第一个链接的方法安装设置后还是不能上网,我刚开始也是完全按照上边的方法也不能上网,正确的方法是:
1、打开终端模拟器;
2、输入su并回车取得权限;
输入 ifconfig eth0 192.168.7.110 netmask 255.255.255.0 up并回车设置IP;
输入 route add default gw 192.168.7.254 dev eth0 并回车添加网关;
输入 setprop net.dns1 8.8.8.8并回车设置DNS,(8.8.8.8也可以用你所在地的DNS)
PING一下同网段别的机子看能不能通,再PING下百度什么看看能不能上公网,一般这样设置后都是可以的,注意虚拟机的网络模式选桥接,如果不进行这样的静态IP设置直接选NAT模式,只要主机能上网那虚拟机也能上网,只是NAT模式下就不能通过adb connect连接虚拟机中的android环境进行开发调试了。
在分辨率设置上,直接通过CMD进入virtualbox中vboxmanage.exe所在目录,输入如下命令就可以了:
VBoxManage setextradata "Android4.0" "CustomVideoMode1" "1080x1920x16" 并回车,然后在android-x86启动时 使用“两次e键、vga=ask、回车、b键”这种方法就可以选择分辨率了。
我通过上边的方法安装了android-x86-2.3-RC1-eeepc.iso和android-x86-4.0-RC2-eeepc.iso,而且都可以上网并通过adb connect远程调试。不过在使用过程中我发现,2.3的X86系统好像比4.0的X86系统流畅很多,而且在4.0的X86系统中,光标的位置一变化就会触发onUserInteraction方法,2.3的系统中就不会,我也好像记得是只有触摸点击才会触发这个事件,不确定4.0中的情况算正常还是不正常。