配置 Visual Studio Emulator for Android 的 ADB 和联网方式

Visual Studio Emulator for Android 是微软推出的一款 Android 模拟器,本身已经集成在最新的 Visual Studio 中,也可以在 这里 下载独立运行的版本。由于最近要用 Docker,打开了 Hyper-V,而 Hyper-V 和 HAXM (用于 Google 官方 Android 模拟器的加速技术)不能同时开启,只能转而使用 Visual Studio Emulator for Android 来模拟设备,在使用过程中,遇到了一些问题,整理如下。

1. adb devices 不识别

  打开 Visual Studio Emulator for Android,启动模拟器后,使用 adb devices 看不到模拟器。此问题一般是因为模拟器没有找到正确的 Android SDK 位置,比如重装了系统,或者是直接解压安装的 Android SDK。如果使用安装程序安装 Android Studio,就不会有此问题。

  解决此问题很简单,打开注册表编辑器(开始/运行/regedit),找到

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Android SDK Tools

把其中的 Path 的值修改为 Android SDK 的路径即可。如果没有 Android SDK Tools 这一项,就在 WOW6432Node 下新建该项,然后在里面新建字符串值,名称为 Path,值为 Android SDK 的路径(如图1)。

如图1

图1

  重启模拟器,应该就可以在 adb devices 中看到了。

2. 无法联网

  遇到无法联网的情况,首先检查虚拟器是否获得了正确的 IP,可以在模拟器侧边工具栏上打开“附加工具”面板,点击“Network”查看。如果没拿到正确的 IP,可能是模拟器的联网方式不正确。

  Visual Studio Emulator for Android 的模拟器实例由 Hyper-V 管理,打开 Hyper-V管理器(开始/运行/virtmgmt.msc),找到 Android 模拟器对应的虚拟机,点击右键,选择“设置”(如图2)。

图2

图2

  在左侧边栏找到“Emulator External Network Adapter”(如有多个,则选择第一个),在“虚拟交换机”下拉列表中选择有网络连接的网卡,如图2,我的电脑有有线和无线两个网卡,只有无线有网,图中选择的是 “Wireless LAN”,而之前默认配置的是有线网卡,所以模拟器上不去网。

图3

图3