Android Emulator is incompatible with Hyper-V, but Docker relies on Hyper-V. Is there any solution that I can run them simultaneously?
相关问题
- Docker task in Azure devops won't accept "$(pw
- Could not read entry … from cache taskArtifacts.bi
- Inheritance impossible in Windows Runtime Componen
- how to get running process information in java?
- Is TWebBrowser dependant on IE version?
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.
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.
Once it has finished, you can check if the machine has been successfully created using the
docker-machine ls
command.Setup shell
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).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 !
Source: https://docs.docker.com/machine/get-started/
Android emulators can now run on Hyper-V. From @tmanolatos answer, here are the steps:
Turn Windows Features on or off
Check the box
Windows Hypervisor platform
You may be required to sign out of your system and sign back in
It seems that Google have just offered a new version of Emulator that is compatible with Hyper-V. Check https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html - so you can finally have both native Windows Docker (through HyperV) and Android Emulator running...
Mind the gap, though:
HolySamosa's answer is unfortunately not feasible now because Microsoft is no longer adding new versions of Android to their emulator as explained here.
So while I wish it weren't the case, you can't use the Microsoft emulator anymore if you want to target devices running anything newer than Marshmallow.