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更新
查看到原有问答,已经解决了该问题
只需要将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的冲突问题的主要内容,如果未能解决你的问题,请参考以下文章