Android Emulator est incompatible avec Hyper-V, mais Docker repose sur Hyper-V. Existe-t-il une solution pour les exécuter simultanément?
Les émulateurs Android peuvent désormais s'exécuter sur Hyper-V. De @tmanolatos répondre, voici les étapes:
J'étais dans la même situation et je pense avoir trouvé une solution il y a une minute à peine. L'astuce consiste à faire appel à VirtualBox pour héberger le moteur Docker. Et la bonne nouvelle est que vous pouvez configurer cela en utilisant uniquement les commandes de docker!
La commande ci-dessous créera une machine virtuelle qui exécutera l'environnement Docker actuel. Il téléchargera une image et configurera tout pour vous.
> docker-machine create --driver virtualbox default
Une fois l’opération terminée, vous pouvez vérifier si la machine a bien été créée à l’aide de la touche docker-machine ls
commande.
> docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Running tcp://192.168.99.100:2376 v17.04.0-ce
La machine a été créée mais le shell doit encore être configuré pour accéder à cette instance Docker distante. Les variables d'environnement à définir peuvent être obtenues à l'aide de la commande docker-machine env default
commande. La sortie sera automatiquement adaptée au Shell que vous utilisez (Powershell dans l'exemple ci-dessous).
> 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
Notez que les dernières lignes renvoyées par cette commande vous indiqueront comment appliquer automatiquement les variables d'environnement avec une seule commande. Vous pouvez toujours simplement copier/coller les commandes dans votre terminal.
C'est ça ! Maintenant, vous pouvez exécuter une simple commande docker pour vous assurer que tout se passe bien!
> 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
Si vous souhaitez continuer à utiliser Hyper-V, une alternative à l'émulateur standard Android est Microsoft Emulateur Visual Studio pour Android =, compatible avec Hyper-V.
L'émulateur de Microsoft apparaîtra comme un périphérique connecté Android.
Cet article fournit plus de détails.
Il semblerait que Google vienne de proposer une nouvelle version d’Emulator compatible avec Hyper-V. Vérifiez https://Android-developers.googleblog.com/2018/07/Android-emulator-AMD-processor-hyper-v.html - afin que vous puissiez enfin avoir Windows Docker natif (via HyperV ) et Android Emulateur en cours d'exécution ...
Attention à l'écart, cependant:
Encore une fois, pour les utilisateurs Windows existants dotés d’un processeur Intel, l’émulateur Android continuera à utiliser la configuration Intel HAXM plus rapide et recommandée. Pour ceux qui utilisent des processeurs AMD et ceux qui utilisent Hyper Hyperviseurs, cela devrait être un pas en avant passionnant pour commencer à utiliser l’émulateur Android.
La réponse de HolySamosa n'est malheureusement pas réalisable maintenant car Microsoft n'ajoute plus de nouvelles versions de Android à leur émulateur, comme expliqué ici .
Ainsi, bien que je souhaite que ce ne soit pas le cas, vous ne pouvez plus utiliser l'émulateur Microsoft si vous souhaitez cibler des périphériques exécutant une version plus récente que Marshmallow.