Lov*_*ice 36 windows hyper-v docker android-studio
Android Emulator与Hyper-V不兼容,但Docker依赖于Hyper-V.有没有可以同时运行它们的解决方案?
小智 36
我处于相同的情况,我想我只是在一分钟前找到了解决方案.诀窍是依靠VirtualBox来托管Docker引擎.好消息是你可以使用docker命令设置它!
下面的命令将创建一个运行实际Docker环境的虚拟机器.它将下载图像并为您设置一切.
> docker-machine create --driver virtualbox default
Run Code Online (Sandbox Code Playgroud)
完成后,您可以使用该docker-machine ls命令检查是否已成功创建机器.
> docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Running tcp://192.168.99.100:2376 v17.04.0-ce
Run Code Online (Sandbox Code Playgroud)
已创建计算机,但仍需要配置shell以访问此远程Docker实例.可以使用该docker-machine env default命令获取要设置的环境变量.输出将自动适应您正在使用的shell(下例中的Powershell).
> 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
Run Code Online (Sandbox Code Playgroud)
请注意,此命令返回的最后几行将告诉您如何使用单个命令自动应用环境变量.您仍然可以直接在终端中复制/粘贴命令.
而已 !现在,您可以运行一个简单的docker命令来确保一切顺利运行!
> docker run busybox echo hello world
Unable to find image 'busybox' locally
Pulling repository busybox
e72ac664f4f0: Download complete
511136ea3c5a: Download complete
df7546f9f060: Download complete
e433a6c5b276: Download complete
hello world
Run Code Online (Sandbox Code Playgroud)
资料来源:https://docs.docker.com/machine/get-started/
小智 23
Android模拟器现在可以在Hyper-V上运行.从@tmanolatos回答,以下是步骤:
Turn Windows Features on or off您可能需要退出系统并重新登录
Google似乎刚刚提供了与Hyper-V兼容的新版Emulator.检查https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html - 这样您最终可以同时运行本机Windows Docker(通过HyperV)和Android Emulator. .
但要注意差距:
同样,对于拥有基于Intel处理器的现有Windows用户,Android Emulator将继续使用更快且推荐的Intel HAXM配置.对于那些使用AMD处理器以及使用Hyper-V虚拟机管理程序的人来说,这应该是开始使用Android Emulator的一个令人兴奋的进步.
如果你想继续运行Hyper-V,标准Android模拟器的替代品是微软的Android Visual Studio模拟器,它与Hyper-V兼容.
Microsoft的模拟器将显示为已连接的Android设备.
本文提供了更多详细信息.
虽然我希望情况并非如此,但如果您想针对运行比 Marshmallow 更新的任何设备的设备,则不能再使用 Microsoft 模拟器。
不幸的是,HolySamosa 的答案现在不可行,因为 Microsoft 不再像此处解释的那样将新版本的 Android 添加到他们的模拟器中。
| 归档时间: |
|
| 查看次数: |
15917 次 |
| 最近记录: |