Docker与Android Studio的冲突问题

Posted WesChan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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/

 

以上是关于Docker与Android Studio的冲突问题的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio之代码提示快捷键冲突设置

android studio冲突对比怎么用

android studio v4包冲突

Android Studio如何使用Git提交代码到GitHub和OsChina并解决冲突

关于android studio so文件 冲突 怎么解决

Android Studio版本冲突/谷歌地图