使用VirtualBox搭建安卓虚拟机并配合开发

VirtualBox应该很多人都知道也玩过了吧,如果不知道,那你也应该知道VM啊。如果两个你都不知道,那你也太out了。不论你知不知道,那么下面就跟着我以前来搭建一个能够快速启动的安卓模拟器,并且通过相关设置,让adb命令可以控制这个虚拟的安卓系统。

一、准备

1、下载VirtualBox并安装它

2、下载Android-x86系统镜像文件,可以到http://www.android-x86.org/download进行下载,需要什么版本就下载什么版本。如果你被墙了。那么就下载我百度网盘的4.4版本的吧。地址http://pan.baidu.com/s/1nuOsRHJ,密码:po4d

二、VirtualBox设置

1、创建虚拟机

安装过程对于使用过VBox的朋友来说,那是容易得很那。不过我还是得好好唠叨一下。

在VBox上点击“新建”,填写下名称,类型选择linux,版本选择:linux2.6/3.x/4.x(32-bit),然后点击下一步,下一步,直到完成。如图:

VBox创建虚拟机
2、设置虚拟机

创建完成后,我们还需要进行相应的设置才能确保后续正常使用。首先选择我们新建的虚拟机,点击“设置”–“存储”,看到右边“控制器:IDE”,点击右键,添加光盘,然后选择我们下载好的iso文件即可。

选择“声音”,右边“控制芯片”设置为:soundblaser 16,如果你不需要开启声音的话,可以略过。

选择“网络”,右边,“链接方式”修改为:“桥接网卡”。点击下面的“高级”,设置“控制芯片”:PCnet-FAST III (Am79c973),如图:

Vbox网卡设置

三、安装

现在我们直接启动虚拟机,即可看到如下画面,我们直接选择安装到硬盘的那个选项:

选择最后一项 Installation – Install Android-x86 to harddisk 后回车

 

我们选择Create/Modify partitions来创建分区 首先我们选择new来创建新分区

 

选择Primary创建主分区 分区大小采用默认大小即可 然后我们设定该分区可以引导(选中Bootable后回车),这是分区的flag会显示boot,然后我们再选择write将修改写入到硬盘(选择write之后还需要输入yes来确认) 分区完毕后再选择quit即可退出。

 

退出后,我们就能看到刚才分配的新分区被识别出来了 按下回车选择该分区,这时会询问采用什么分区格式格式化分区,建议选择ext3 选择好格式后系统会再跟你确认一遍,输入yes安装就会开始了。

 

安装中途会询问你是否安装Grub,这里一定要选择YES,因为我们后需要Grub来自定义启动Android 安装Grub的时候会询问你是否将/system目录安装为读写模式(设为读写可以更方便的debug,但是会占用更多的空间和安装时间),选择yes 回车后安装就会开始了 安装结束后,会弹出一个菜单 三个选项分别是(貌似在4.0以后就没有虚拟sd卡了) 运行Android 创建一个虚拟SD卡 重启 这里最好选择重启。

 

到这里,我们就安装完毕了,现在我们可以将之前设置的光驱卸载掉,选择“设备”–“分配光驱”–“移除虚拟盘”即可。

注意:

1、重启进入系统的时候选择第一项,不要选择debug的那几项。

2、在安卓系统中,我们还无法直接使用鼠标进行操作,因此我们还要进行设置,点击“热键”–“鼠标集成”即可直接使用鼠标了。

3、如果黑屏了,点击没有反应,请按键盘上右边alt和ctrl中间的那个键即可点亮。

4、如果发现鼠标一直在VirtualBox中,那你按一下右边的ctrl键即可。

四、终极设置

上面的步骤完成后,你发现可以进入安卓系统了,进去后,可以设置语言、WLAN了,但是设置Wlan的时候确无法设置,并且跳过也无法跳过,也无法上网。那么现在我们就来解决下上网的问题。上网问题分两张情况。

1、如果你是台式机,插网线的,那么你就直接使用我上面说的那个设置即可直接上网。

2、使用无线网卡桥接网络的,必须要将“高级”里的“接入网线”前面的勾去掉。否则无法上网。

五、使用NAT网络连接方式设置adb开发环境

经过上面的折腾,其实已经搭建好了相关的Android虚拟机了。不过我需要的并不是仅仅的Android虚拟机,我需要我在命令行输入adb命令的时候可以通过命令来控制这个虚拟机。(如果你不需要这个功能可以直接略过)

记着,需要修改安卓虚拟机中的网络连接方式:NAT。

“打开网络与共享中心”,选择VirtualBox Host-Only Network,右键“状态”,然后点击“详细信息”找到ip地址,如图:

然后打开命令提示符输入以下命令

ping 192.168.56.1 //看看是否可以ping通

如图:

这样就说明ping通了。接着我们需要使用adb命令了。

首先我们需要设置安卓虚拟机的adb的tcp端口为5555

进入我们的虚拟机,按住alt+f1进入命令模式,输入下面的代码:

stop adbd

setprop service.adb.tcp.port 5555

start adbd

完成后,按住alt+f7即可返回桌面

最后就是配置虚拟机系统的网络的端口转发功能了,看图操作吧:

下面的IP地址,一个是本机的127.0.0.1,一个是安卓中的ip(这个ip需要自己去寻找哦,看我下图的命令),端口都是5555

最终,我们回到命令提示符,输入adb connect 127.0.0.1就会直接连接到5555端口去了。如图:

六、写在最后

前面我们遇到了很多坑啊。其实我是一边实践一边写此文章的,因此我遇到的坑也就会变成你遇到的坑。

最后,我们可以直接使用

adb devices来查看我们的安卓设备了

C:\Users\Administrator>adb connect 127.0.0.1
connected to 127.0.0.1:5555

C:\Users\Administrator>adb devices
List of devices attached
127.0.0.1:5555 device

监听到安卓设备咯!嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎……

发表评论

电子邮件地址不会被公开。 必填项已用*标注