在Android TV 下编一个SFTP客户端程序,发现由于远程SFTP服务使用了非标端口,因此使用Android Studio内置的虚拟机无法正常访问远程SFTP服务器,又不能挂上真机调试。就改成用Virtualbox 安装Android虚拟机供Android Studio调试使用。
一、下载 Android X86
首先到android-x86.org 网站去下载一个相应版本的ISO镜像,有32位和64位的,我根据需要下载了一个32位的。
二、在VirtualBox下安装 Android X86
在Virtualbox下创建一个虚机,创建时选择类型“Linux 2.6/3.x/4.x/5.x (32-bit)”,64位的选择64位。32位和64位不能混淆。网卡连接方式缺省是“NAT”,这里要改成“桥接网卡”,,否则Android Studio连接不了。
安装完成后,要移除“虚拟光盘”,然后重新启动即可
三、配置Android X86
启动起来后,发现是字符界面,不是想象的图形界面。要做一下配置。启动后,选择第二项“Debug Mode”。
启动完成,在提示符出现后(如果未出现,按一下回车即可),然后输入以下命令,目的是重新加载/mnt为可写模式,然后编辑启动菜单
mount -o remount,rw /mnt
vi /mnt/grub/menu.lst
在菜单的第一个启动项quiet后面加入nomodeset,如下图所示:

保存后,重启,就可以进入图形界面了,然后在语言选择下拉框,选择中文简体,点击开始。在WLAN网络的选项中,选择VirtWiFi,然后就自动获得了IP,该IP显示在下方,比如是 192.168.71.5,记下这个IP,待会儿Android Studio 连接要用。虽然界面上显示,该网络无法连接互联网,这个不用管它(估计是网站原因)。
四、连接Android X86
到宿主机的命令行,运行下面命令:
adb connect 192.168.71.5:5555
adb是Android Studio 环境下一个命令行工具,主要用于与 Android 设备进行通信和调试。如果无法执行这个命令,肯定是路径配置原因,将其所在目录加入路径搜索变量即可。上面的IP是Android X86虚拟机的IP。端口5555,是默认的调试端口。然后,运行
adb devices -l
就可以看到这设备
192.168.71.5:5555 device product:android_x86 model:VirtualBox device:x86 transport_id:2
上面最后的transport_id
用于标识设备的id,表示该设备与adb的传输通道,后面的2,可以用于后续adb 命令使用,比如向该设备发送一个遥控器上的菜单按钮,用下列命令:
adb -t 2 shell input keyevent 82
然后,在Android Studio的设备管理器里看到这个设备了,可以当成真机使用。如果启动Android Studio后没发现,adb connect 重新连接一下即可。