Docker与Android Studio的冲突问题

在行业内,VisualBox、VMware、Hyper-V冲突也不是什么秘密了

 

我在公司的电脑上先安装了Docker,并在安装Docker之前在BIOS中开启了虚拟化支持,所以在启动Docker时没有任何问题。

查看Windows功能,其中Hyper-V已经完全安装了

 


  

接下来,因为需要开发React Native应用,安装了Nodejs后,且为了调试方便安装了Android Studio,(React Native开发环境配置可以参考https://reactnative.cn/docs/0.50/getting-started.html#content) 但在运行项目时,会出现以下错误

以下的错误意思是,Android Studio与Hyper-V产生了冲突,需要运行命令将Hyper-V功能关闭

好,既然Android Studio给出了提示,那么我就需要运行以上提示给出的命令 

使用管理员权限打开一个命令行窗口,运行给出的命令

#是不是一定要在C:\Windows\system32>目录运行命令不是太清楚,但我运行成功了
bcdedit /set hypervisorlaunchtype off

 

接着Android Studio又给出了另一个错误提示,还是需要先将Hyper-V先关掉才可以。

 

因为现时Docker暂时不需要用到,所以先暂时关闭

 

将Android Studio的错误提示,点击OK关闭错误提示。

将Android Studio的项目关闭再重新打开,依然看到Hyper-V的错误信息,依然不可运行,原因是我运行了命令后,并没有重启

 

当我重启电脑后,再尝试运行,确实已经没有了提示,项目已经正常运行

 

 

这时就有一个问题了,我已经成功运行了React Native,或者说Android Studio,那么是不是可以同时运行Docker?

很抱歉,我的机器暂时不行!似乎有一些人有了解决方案,https://stackoverflow.com/questions/43134006/how-can-i-run-both-docker-and-android-studio-emulator-on-windows

 

或者我们可以微软的Android模拟器,https://www.visualstudio.com/zh-hans/vs/msft-android-emulator/来解决这个问题。

 


简单来说,就是Docker需要使用到Hyper-V,而Android Studio是使用HAXM(硬件加速执行管理器),而HAXM与Hyper-V使用相同的虚拟化扩展,这就意味着,它们之间是冲突的,且不能同时运行两个技术,

且电脑中只能运行其中一个技术。

2018-08-01 更新

参考了一些网上的说法,似乎Docker与Android Studio是没办法在同一个电脑上安装的,但是找到一个折中的方法,就是安装Docker Toolbox

Docker Toolbox即是在外面安装了一个虚拟机给Docker使用,而且Docker Toolbox不需要使用到Hyper-V

Docker Toolbox地址:https://docs.docker.com/toolbox/toolbox_install_windows/

安装完成后,会在网站生成三个图标

 

打开Docker Quickstart Terminal图标,需要下载一个boot2docker的镜像,另外需要分配IP地址等,完成后,即会出现一个鲸鱼的图标

如果下载失败,地址为https://github.com/boot2docker/boot2docker/releases,可以手动下载后放入至文件夹 C:\Users\chenwes(用户名)\.docker\machine\cache

 

最后放一个,同时运行Docker与Android Studio的图片

 

 


 

2019-02-25更新

查看到原有问答,已经解决了该问题

https://stackoverflow.com/questions/43134006/how-can-i-run-both-docker-and-android-studio-emulator-on-windows

只需要将Windows功能中的Windows Hypervisor Platform勾选即可,但效果如何,我测试还是行不通的

 

 

 

2019-05-06更新

查看到另一个Google的解答

https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html

也有微软给出的方案

https://devblogs.microsoft.com/visualstudio/hyper-v-android-emulator-support/

 

posted @ 2018-02-07 11:29  WesChan  阅读(7355)  评论(0编辑  收藏  举报