How can I run both Docker and Android Studio Emulator on Windows?
Android Emulator is incompatible with Hyper-V, but Docker relies on Hyper-V.
Is there any solution that I can run them simultaneously？
2 Solutions collect form web for “How can I run both Docker and Android Studio Emulator on Windows?”
I was in the same situation and I think I came to a solution just a minute ago. The trick is to rely on VirtualBox to host the Docker engine. And the good news is that you can setup this using only docker commands !
Create virtualbox Docker machine
The command below will create a virtualbox machine that will run the actual Docker environment. It will download an image and setup everything for you.
> docker-machine create --driver virtualbox default
Once it has finished, you can check if the machine has been successfully created using the
docker-machine ls command.
> docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default - virtualbox Running tcp://192.168.99.100:2376 v17.04.0-ce
The machine has been created but the shell still need to be configured to access this remote Docker instance. The environment variables to set can be obtained using the
docker-machine env default command. The output will be automatically adapted to the shell you are using (Powershell in the example below).
> docker-machine env $Env:DOCKER_TLS_VERIFY = "1" $Env:DOCKER_HOST = "tcp://192.168.99.100:2376" $Env:DOCKER_CERT_PATH = "C:\Users\DummyUser\.docker\machine\machines\default" $Env:DOCKER_MACHINE_NAME = "default" $Env:COMPOSE_CONVERT_WINDOWS_PATHS = "true" # Run this command to configure your shell: # & "C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe" env | Invoke-Expression
Note that the last few lines returned by this command will tell you how to automatically apply the environment variables with a single command. You still can simply copy/paste the commands in your terminal.
Run docker !
That’s it ! Now, you can run a simple docker command to make sure everything runs smoothly !
> docker run busybox echo hello world Unable to find image 'busybox' locally Pulling repository busybox e72ac664f4f0: Download complete 511136ea3c5a: Download complete df7546f9f060: Download complete e433a6c5b276: Download complete hello world
If you want to keep running Hyper-V, an alternative to the standard Android emulator is Microsoft’s Visual Studio Emulator for Android, which is compatible with Hyper-V.
The Microsoft’s emulator will appear as a connected Android device.
This article provides more details.