Immer wenn ich einen Android-Emulator öffne, wenn bereits eine andere Art von VM ausgeführt wird, erhalte ich die "üblichen" Fehlermeldungen:
Emulator: Fehler beim Synchronisieren des VCPU-Reg-
Emulators: Fehler beim Synchronisieren des HAX-VCPU-Kontexts
Hier wird empfohlen, keine andere VM auszuführen, aber was ist, wenn ich eine andere VM für die Entwicklung benötige oder den Server für meine Android-App darauf ausführen möchte? Gibt es eine Möglichkeit, eine VirtualBox Linux-Gast-VM und den Android-Emulator gleichzeitig auszuführen? Mein Host-Betriebssystem ist OSX, wenn das wichtig ist.
android-emulator
virtualbox
Gavriel
quelle
quelle
Antworten:
Ja, es gibt eine Möglichkeit, eine VirtualBox Linux-Gast-VM und den Android-Emulator gleichzeitig auszuführen.
Ich habe ein funktionierendes Setup, das genau dies jetzt tut, und es ist ziemlich einfach. Um das oben genannte Problem zu lösen, können Sie Genymotion als Android-Emulator und Virtualbox für Ihre virtuelle Linux-Gast-VM ausführen.
Dies wirkt dem in den obigen Antworten beschriebenen Problem entgegen, da Genymotion Virtualbox "unter" als Hypervisor verwendet, was bedeutet, dass beide virtuellen Maschinen (der Linux-Gast und der Android-Emulator) auf demselben Hypervisor ausgeführt werden. Genau dafür sind Hypervisoren gedacht.
Um die Bedeutung des Posters in dem von Ihnen angegebenen Link zu verdeutlichen, der angibt, "es wird empfohlen, keine andere VM auszuführen", meint er damit, dass Sie nicht auch andere Hypervisoren ausführen können (Docker und Virtualbox werden dort beschrieben) ) parallel zum Android Emulator aus den Gründen, die in anderen Antworten hier beschrieben sind.
quelle
Sie können nicht zwei verschiedene Emulationsstapel gleichzeitig auf Ihrem Prozessor ausführen. Entschuldigung, das würde nicht passieren.
Update: Ihr Prozessor kann jeweils nur ein Emulationssystem ausführen. Kernelmodule behalten sich das Recht vor, die Emulationsfunktionen des Prozessors unter Ausschluss aller anderen Emulatoren zu verwenden, die sie verwenden möchten. Sie können VMware, VirtualBox, HyperV usw. also nur separat verwenden.
quelle
HAX steht für H ardware A ccelerated e X ecution. Es ist nicht wirklich möglich, zwei verschiedene Hypervisoren mit Hardwarebeschleunigung korrekt auszuführen - sie wissen nicht, was der andere tut, und beide würden versuchen, die Hardware für ihre eigenen Zwecke zu verwenden. Der Versuch, dies zu tun, ist mehr oder weniger der gleiche wie der Versuch, zwei nicht virtualisierte Betriebssysteme gleichzeitig auszuführen, was eindeutig nicht funktionieren kann.
Jetzt können Sie möglicherweise eine rein softwarebasierte virtuelle Maschine gleichzeitig mit einem Android-Emulator ausführen. Die Leistung wird jedoch erheblich beeinträchtigt (je nachdem, wofür Sie sie verwenden). Ich habe festgestellt, dass der Android-Emulator so langsam ist, dass er ohne Hardwarebeschleunigung wertlos ist. Sie möchten ihn also definitiv nicht deaktivieren.
Allerdings Memu scheint ziemlich performant und spielt schön mit VMware auf meinem Rechner, so dass könnte eine Option für Sie sein. Ich habe jedoch keine Entwicklung mit Memu versucht; Ich konnte ADB nicht zum Arbeiten bringen.
quelle
Es ist in der Tat möglich. Sie müssen mindestens HAXM Version 6.1.1 ausführen.
Wenn Sie auf diese Version aktualisieren, funktioniert es.
Stellen Sie nach dem Upgrade sicher, dass die richtige Version ausgeführt wird, indem Sie Folgendes ausführen:
Wenn eine ältere Version gemeldet wird, müssen Sie das Installationsprogramm möglicherweise manuell ausführen, indem Sie Folgendes ausführen:
quelle