是否可以在 VMWare 上使用 运行 Android Device Emulator(通过 Android Studio 2)?

Is it possible to run Android Device Emulator (via Android Studio 2) on VMWare?

我一直在 运行ning Android Studio 1.5.1 在 Windows 2012 R2 的 WMWare 副本上进行开发,一切正常。我已经能够 运行 设备模拟器没有问题,并在 AVD 中启动 Android 运行ning 的各种版本。

Android工作室2.x改变 我最近安装了 Android Studio 2.0(确切版本请参见下图)。

现在,当我尝试 运行 模拟器时,没有任何反应。 好吧,实际上,当我尝试启动设备时,我确实在 Studio 的状态栏中看到一条消息,但随后该消息消失,之后什么也没有发生。

有警告提示我需要关闭 Hyper-V(见下图),但我认为这是不可能的,因为这是一个 VM。

不可能了?

是不是不能再运行虚拟机上的模拟器了?

更新版本的 Android 仿真器需要硬件虚拟化支持 (Intel HAXM)。

遗憾的是,大多数虚拟机不向来宾(VM 中的 VM)提供 HAXM 指令,因此您将无法在虚拟机中使用模拟器。

我刚刚在我的 Windows 2008 R2 VM (运行ning VMWare) 上安装了 Android Studio 2.1,我很高兴地报告它 可以 运行 VM 上基于 ARM 的 AVD(Android 虚拟设备)。

运行VMWare 上基于 Arm 的虚拟设备的步骤

  1. 转到安装 Android SDK 的位置(在我的例子中是 %appdata%\Android2\SDK\
  2. 如果您在正确的位置,您应该会看到如下面第一张图片所示的目录结构和目录。

  1. 双击启动 AVD.exe。

您会看到如下图所示的 window

  1. 仔细观察并注意这是 运行ing ARM(armeabi-v71) 图像。下载图像时,您必须下载基于 ARM 的图像。 (没有 x86 图像可以在 VM 上运行)。

  2. 此外,您不能 从从 Android Studio 2.x

    [= 启动的 AVD 启动这些图像67=]
  3. 确保将名为 ANDROID_SDK_HOME 的环境变量设置为类似于 AVD 管理器顶部的路径(图中)。

完成所有这些操作并在 VMWare VM 上启动基于 ARM 的映像后,它会警告您使用 HAXM 会更快,但至少映像会 运行。

最后,您可以看到如果您尝试从 Android Studio 中的 AVD 管理器启动虚拟设备,那么它会警告您需要关闭 Hyper-V。当然,您不能在 VM 上关闭 Hyper-V。

编辑 -- 运行ning Android 7 ARM Image

@mcflysoft 询问了有关 运行ning 一个 android 7 ARM 映像的问题。起初我认为它不起作用,但如果你打开你的 SDK 管理器并安装下图中显示的确切 ARM OS 映像,它将 运行 在 Windows VM 上:

包含 Google API 的 ARM 映像

我尝试安装包含 Google API 的 ARM 映像,但那个映像永远无法启动。我可以在 c:\> adb shell logcat.

中看到失败记录

注意:它真的很慢

但是,运行ning Android 7 似乎非常慢,而且我没有看到网络浏览器。 不确定它对您有多大帮助,但您可以让它发挥作用。 祝你好运。

我遇到了同样的问题,所以我会 post 一个答案,希望将来有人会觉得这个有用。我可以在我的 VM 中 运行 Android Studio,但是当我尝试启动模拟器时,由于 "Your CPU does not support required features (VT-x or SVM)"

我无法下载图像

虽然我没有启动和 运行 虚拟设备,但我通过使用 BlueStacks. You install BlueStacks on the VM. BlueStacks (at the moment) runs Android 7.1.1, SDK 25. Inside BlueStacks, go to Settings/Preferences and Enable Android Debugger Bridge (adb) following this 指令集解决了这个问题。然后,您应该能够从 Android Studio 中 运行 BlueStacks 上的应用程序。 Logcat 可以看到来自 BlueStacks 的任何日志语句。

另一种方法(不启用调试器桥)是为您的应用找到 .apk 文件,然后使用 BlueStacks APK 安装程序打开它。 Logcat 还是看到痕迹了。

它在 VM 上很慢。您还必须在 XML 文件

中设置 android:testOnly="false"

到目前为止我找到的最简单的解决方案是使用设备场,例如三星的设备场: https://developer.samsung.com/remotetestlab/galaxy/rtlDeviceList.action#444

它是免费使用的,您可以像在模拟器中一样部署您的应用程序(右键单击 -> 测试 -> 远程调试桥 -> 按照说明操作)。

而且由于这些是真实设备,速度可能比您个人 PC 上的模拟器还要快。