最近想学习appium框架,但是在windows的版本要求API17以上,即Android4.2以上,模拟器的速度实在难以恭维,自己的真机版本也只有android4.1,所以只能求助android-x86。
第一部分:基础安装配置
1. 类型选择linux,版本选择other linux(32bit)
2. 内存分配1G,虚拟硬盘文件类型选择VDI(VirtualBox磁盘映像),动态分配,分配1G
3. 在创建好虚拟机设置->存储中的光盘指向iso文件
4. 启动虚拟机
5. 安装菜单上选择 Installation - Install Android-x86 to harddisk
6 选择create/Modify partitions
7.依次选择New->Primary->Bootable->Write
选择yes写入磁盘,选择Quit,来到图形化界面,针对刚才创建的sda1选项,format
sda1格式选择ext3,后面两项(格式和GRUB)均选择Yes
8. 对system directory as read-write
选择yes,这一步的写权限在后面在/etc/init.sh设置dns要用到,否则/etc/init.sh只有读权限
第二部分:配置网络
1. 系统正常启动后来到android界面,这时候没有鼠标指针,按下 Host(virtualbox默认是右Ctrl键)+I
键让Virtualbox获取当前鼠标
2. 在VirtualBox设置中的网络配置,选择桥接网卡
3. 重启虚拟机,来到图形化界面后,按下Alt+F1进入console模式
4.通过netcfg查看eth0是否已经分配到了ip地址,正确的ip地址应该和当前的主机属于属于同一个网段,并且eth0口的状态是UP
5. 配置dns,用于访问外网,#setprop net.dns1 202.101.172.35, 具体的dns地址可以通过ipconfig
/all查看
7. 这条命令只能另当前会话生效,如果永久生效,必须讲dns信息加到/etc/init.sh中:Alt+F1切换到命令行下,vi
/etc/init.sh,在最后部分加上 setprop net.dns1
202.101.172.35。PS:如果在保存init.sh文件的时候提示文件是只读的话,那是因为在第一部分的第8步骤中system directory as
read-write 选择了no
8. 重启虚拟机就可以了
9. 如果想连接到adb上设备上,只需要使用命令 adb connect 192.168.1.107:5555,
其中107这个地址是android-x86模拟器的地址
第三部分:分辨率设置
在安装完成后,默认是tablet模式,即宽屏,要变成普通的手机竖屏模式,需要经过两个步骤的设置
1. 进入VirtualBox的安装目录,键入命令VBoxManage.exe setextradata "Android4.4"
"CustomVideoMode1"
"480x800x16"(注意其中的x为小写),完成后你会在当前虚拟机安装所在目录的Android4.4.vbox文件中<ExtraData></ExtraData>子项中会有<ExtraDataItem
name="CustomVideoMode1" value="480x800x16"/>,当然也可以直接手动在其中添加
2. 重启当前虚拟机,进入Debug模式,编辑/mnt/grub/menu.lst文件,
拷贝粘贴一份默认的启动项目,将title修改一下,然后在kernel的末尾处添加UVESA_MODE=480x800,保存重启即可
第四部分:其他
1. 目前试验了三个android的版本,4.0-RC2-eeepc,4.2, 4.4-RC1
2.
当前Android4.0的版本中,即使设置了dns服务器,web是可以访问外网了,但是app访问网络的时候提示没有网络,在Android4.2的版本中,也存在类似问题,但安装的最新的Android4.4版本没有这个问题,web和app均可访问外网。
3. 在Android4.2和Android4.4的两个试验版本中,均发现不需要设置dns服务器也是可以访问外网的
4. 对于app外网无法访问的问题,可能是wifi还需要设置的缘故,发现一个项目可以参考:
AndroVM,目前尚在研究中
第五部分 参考文章
1.这篇设置过程的图很全
2.关于屏幕分辨率的设置:
3.这篇文章解释了为什么安卓的模拟器速度如此之慢,同时包含了非常详细的安装过程
4.Eclipse调试连接配置
VirtualBox搭建Android-x86,,5-wow.com