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/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM