在行业内,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的冲突问题的更多相关文章

  1. Android Studio一些常用快捷键及快捷键冲突解决

    1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对的地方,希望大家 ...

  2. Win 10 下 android studio显示 Intel haxm无法安装,以及VT-X和hyper-x的冲突问题

               我 的电脑是神舟战神k650c i7 D4,处理器是Intel core i7 4710-MQ,系统是win 10的 我心血来潮想学习一下安卓开发,就首先安装了android s ...

  3. android studio 中如何合并冲突(转)

    合并分支,解决冲突 执行Git merge ,如果有冲突,就会出现如下格式: <<<<<<< HEAD 这个位置的内容就是当前所在分支的内容 ======= ...

  4. Android Studio中依赖第三库导致support版本冲突解决方案

    1.今天在Android Studio的app/gradle文件中依赖文件选择器的第三方库:“com.leon:lfilepickerlibrary:1.8.0” 时,github地址:https:/ ...

  5. Android Studio 解决 Gradle 依赖冲突的问题

    Android Studio 解决 Gradle 依赖冲突的问题 参考链接: Android Studio(Gradle)解决库依赖冲突问题:http://www.mobibrw.com/2016/3 ...

  6. 在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

    面向对象:曾经使用过SVN的同学. (因为Git 它 可以说是双重的SVN (本地一个服务器,远程一个服务器)),提交代码要有两次步骤,先提交到本地服务器,再把本地服务器在提交到远程服务器. 所以连S ...

  7. Android Studio V4 V7 包冲突的问题

    最近被包冲突的问题搞奔溃了,特别是V4,V7 V4和V7包冲突的解决方式就是!版本要一致!! 比如我的一个项目中应用本来是这样引用包的 compile 'com.android.support:sup ...

  8. Android Studio 2.3 instant run与miui冲突问题的解决

    Android Studio最近发布的2.3版本,由于这个版本改进后的Instant Run功能和很多国内ROM存在兼容问题,所以导致不得不做一些妥协策略,具体在小米Rom上,就是把小米rom的调试定 ...

  9. Android Studio快捷键

      一.android studio 默认快捷键 刚开始接触一款开发软件,想必很想了解它的快捷方式,这会对你的编程起到很好的帮助,提高工作效率,接下来给你介绍下Android Studio一些常用的快 ...

随机推荐

  1. ACM1325Is it A tree?

    通过这道简单而又坑人的题目,练习并查集和set 容器的使用: Is It A Tree? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: ...

  2. C语言中两个!!的作用

    两个!是为了把非0值转换成1,而0值还是0. 因为C语言中,所有非0值都表示真. 所以!非0值 = 0,而!0 = 1.所以!!非0值 = 1,而!!0 = 0.例如:i=123 !i=0 !!i=1 ...

  3. 配置静态服务器和配置nfs

    一.配置Nginx 1.安装Nginx yum -y install nginx 2.编写配置文件 [root@ngix nginx]# cd /etc/nginx [root@ngix nginx] ...

  4. 整数中1出现的次数(从1到n整数中1出现的次数)

    整数中1出现的次数(从1到n整数中1出现的次数) 题目描述 求出1 ~ 13的整数中1出现的次数,并算出100 ~ 1300的整数中1出现的次数?为此他特别数了一下1 ~ 13中包含1的数字有1.10 ...

  5. JavaScript之typedof,instanceof,Array.isArray()

    typedof value检测对象类型. value instanceof Array检测a对象是否由b对象类型 Array.isArray(value)在两个框架中判断是否为数组类型.

  6. CentOS安装JDK环境

    一:查看当前系统的java环境 [elsearch@localhost data]$ rpm -qa | grep jdk 二:卸载原有的jdk [elsearch@localhost /]$ yum ...

  7. 【zoj3645】高斯消元求解普通线性方程

    题意: 给你一个方程组(含有12个方程),求(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11) 方程组的形式是一个二次方程组 (ai1-x1)^2 + (ai2-x2)^2 +( ...

  8. 【BZOJ4514】【SDOI2016】数字配对 [费用流]

    数字配对 Time Limit: 10 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description 有 n 种数字,第 i 种数字是 ...

  9. ie8下trim失效

    1.ie8下使用trim失效 trim可以除去字符串两侧的空白字符,但ie8并不支持 2.解决方案 String.prototype.trim = function () { return this ...

  10. 时间盲注脚本.py

    时间盲注脚本 #!/usr/bin/env python # -*- coding: utf-8 -*- import requests import time payloads = 'abcdefg ...