Émulateur Android est incompatible avec la technologie Hyper-V, mais Docker s'appuie sur la technologie Hyper-V. Est-il une solution que je peux les exécuter simultanément?
Réponses
Trop de publicités?J'ai été dans la même situation et je pense que je suis arrivé à une solution juste il y a une minute. L'astuce est de s'appuyer sur VirtualBox pour accueillir le Support moteur. Et la bonne nouvelle est que vous pouvez configurer cela en utilisant seulement le panneau de commandes !
Créer virtualbox menu fixe de la machine
La commande ci-dessous crée un virtualbox machine qui va exécuter la réelle Docker de l'environnement. Il va télécharger une image et d'installation de tout pour vous.
> docker-machine create --driver virtualbox default
Une fois qu'il a terminé, vous pouvez vérifier si la machine a été créé avec succès à l'aide de l' 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
Configuration du shell
La machine a été créée, mais le shell doivent encore être configurés pour accéder à cette distance le Panneau de l'instance. Les variables d'environnement pour définir peut être obtenu à l'aide de l' docker-machine env default
commande. La sortie sera automatiquement adapté à la 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 la dernière quelques lignes retournées par cette commande va vous dire comment faire pour appliquer automatiquement les variables d'environnement avec une seule commande. Vous pouvez simplement copier/coller les commandes dans le terminal.
Exécutez le panneau !
Ça y est ! Maintenant, vous pouvez exécuter un simple panneau de commande pour s'assurer que tout fonctionne 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 voulez garder exécutant Hyper-V, une alternative à la norme émulateur Android est Microsoft Visual Studio Émulateur pour Android, qui est compatible avec la technologie Hyper-V.
Le Microsoft de l'émulateur va apparaître comme un appareil Android.
Cet article fournit plus de détails.
Il semble que Google ont juste offert une nouvelle version de l'Émulateur qui est compatible avec la technologie Hyper-V. Vérifier https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html - vous pouvez enfin avoir à la fois natif de Windows Docker (par HyperV) et l'Émulateur Android en cours d'exécution...
Mind the gap, si:
Encore une fois, pour les utilisateurs de Windows qui ont un processeur Intel, l'Émulateur Android va continuer à utiliser la plus rapide et recommandé Intel HAXM de configuration. Pour ceux qui utilisent des processeurs AMD, et ceux qui utilisent la technologie Hyper-V hyperviseurs, cela devrait être une étape passionnante pour commencer à utiliser l'Émulateur Android.
HolySamosa la réponse est malheureusement pas possible maintenant, parce que Microsoft n'est plus de l'ajout de nouvelles versions d'Android à leur émulateur comme expliqué ici.
Ainsi, alors que je souhaite qu'il n'était pas le cas, vous ne pouvez pas utiliser Microsoft émulateur de plus si vous souhaitez cibler les appareils qui exécutent quelque chose de plus récent que de la Guimauve.