如何在Windows上运行Docker和Android Studio Emulator?

时间:2017-03-31 06:36:48

标签: windows android-studio docker hyper-v

Android Emulator与Hyper-V不兼容,但Docker依赖于Hyper-V。 有没有可以同时运行它们的解决方案?

5 个答案:

答案 0 :(得分:36)

我处于相同的情况,我想我在一分钟前就找到了解决方案。诀窍是依靠VirtualBox来托管Docker引擎。好消息是你可以只使用docker命令设置它!

创建虚拟机Docker机器

下面的命令将创建一个运行实际Docker环境的虚拟机器。它将下载图像并为您设置一切。

int(13)

完成后,您可以使用> docker-machine create --driver virtualbox default 命令检查机器是否已成功创建。

docker-machine ls

安装程序shell

已创建计算机,但仍需要配置shell以访问此远程Docker实例。可以使用> docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default - virtualbox Running tcp://192.168.99.100:2376 v17.04.0-ce 命令获取要设置的环境变量。输出将自动适应您正在使用的shell(下例中的Powershell)。

docker-machine env default

请注意,此命令返回的最后几行将告诉您如何使用单个命令自动应用环境变量。您仍然可以直接在终端中复制/粘贴命令。

运行docker!

那就是它!现在,您可以运行一个简单的docker命令来确保一切顺利运行!

> docker-machine env
$Env:DOCKER_TLS_VERIFY = "1"
$Env:DOCKER_HOST = "tcp://192.168.99.100:2376"
$Env:DOCKER_CERT_PATH = "C:\Users\DummyUser\.docker\machine\machines\default"
$Env:DOCKER_MACHINE_NAME = "default"
$Env:COMPOSE_CONVERT_WINDOWS_PATHS = "true"
# Run this command to configure your shell:
# & "C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe" env | Invoke-Expression

来源:https://docs.docker.com/machine/get-started/

答案 1 :(得分:15)

Android模拟器现在可以在Hyper-V上运行。在@tmanolatos答案中,步骤如下:

  1. 在开始菜单中搜索以下内容 Turn Windows Features on or off
  2. 选中复选框Windows Hypervisor platform enter image description here

  3. 可能会要求您退出系统并重新登录

  4. Docker和Android Studio模拟器应该可以协同工作

答案 2 :(得分:8)

如果您想继续运行Hyper-V,标准Android模拟器的替代品是Microsoft的Visual Studio Emulator for Android,它与Hyper-V兼容。

Microsoft的模拟器将显示为已连接的Android设备。

enter image description here

This article提供了更多详细信息。

答案 3 :(得分:8)

似乎Google刚刚提供了与Hyper-V兼容的新版本的模拟器。选中https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html-这样您就可以同时运行本机Windows Docker(通过HyperV)和Android仿真器...

请注意以下几点:

  

同样,对于具有基于Intel处理器的现有Windows用户,Android仿真器将继续使用更快且建议使用的Intel HAXM配置。对于使用AMD处理器的用户以及使用Hyper-V虚拟机管理程序的用户,这应该是开始使用Android模拟器的令人振奋的一步。

答案 4 :(得分:2)

遗憾的是,

HolySamosa's answer现在不可行,因为正如here所解释的那样,微软不再向他们的模拟器添加新版本的Android。

因此,虽然我不希望如此,但如果您想要运行运行比Marshmallow更新的设备,则无法再使用Microsoft模拟器。