Hardwarebeschleunigung für verbesserte Leistung des Emulators (Hyper-V und HAXM)
In diesem Artikel wird erläutert, wie Sie die Features für die Hardwarebeschleunigung Ihres Computers verwenden können, um die Leistung des Android-Emulators zu optimieren.
Visual Studio erleichtert es Entwicklern, ihre Xamarin.Android-Anwendungen mithilfe des Android-Emulators zu testen und zu debuggen, wenn kein Android-Gerät verfügbar oder dessen Verwendung unpraktisch ist. Der Android-Emulator ist jedoch zu langsam, wenn keine Hardwarebeschleunigung auf dem verwendeten Computer verfügbar ist. Sie können die Leistung des Android-Emulators erheblich steigern, indem Sie spezielle Images für virtuelle x86-Geräte gemeinsam mit den Virtualisierungsfeatures Ihres Computers verwenden.
Szenario | HAXM | WHPX | Hypervisor.Framework |
---|---|---|---|
Sie verfügen über einen Intel-Prozessor | X | X | X |
Sie verfügen über einen AMD-Prozessor | X | ||
Sie möchten Hyper-V unterstützen | X | ||
Sie möchten geschachtelte Virtualisierung unterstützen | Begrenzt | ||
Sie möchten Technologien wie Docker verwenden | (mit WSL2) | X | X |
Beschleunigen des Android-Emulators unter Windows
Ihnen stehen die folgenden Virtualisierungstechnologien zum Beschleunigen des Android-Emulators zur Verfügung:
Microsoft Hyper-V und die Windows Hypervisor-Plattform (WHPX). Hyper-V ist ein Virtualisierungsfeature von Windows, mit dem virtualisierte Computersysteme auf einem physischen Hostcomputer ausgeführt werden können.
Intel Hardware Accelerated Execution Manager (HAXM) Bei HAXM handelt es sich um eine Virtualisierungs-Engine für Computer mit Intel-CPUs.
Für die beste Benutzererfahrung unter Windows empfiehlt es sich, WHPX zum Beschleunigen des Android-Emulators zu verwenden. Wenn WHPX nicht für Ihren Computer verfügbar ist, können Sie HAXM verwenden. Der Android-Emulator verwendet die Hardwarebeschleunigung automatisch, wenn folgende Kriterien erfüllt sind:
Die Hardwarebeschleunigung ist verfügbar und auf Ihrem Entwicklungscomputer aktiviert.
Der Emulator führt ein Systemimage aus, das für ein x86-basiertes virtuelles Gerät erstellt wurde.
Wichtig
Sie können einen Emulator mit VM-Beschleunigung nicht innerhalb einer anderen VM ausführen, z. B. einer VM, die von VirtualBox, VMware oder Docker gehostet wird (es sei denn, WSL2 wird verwendet). Sie müssen den Android-Emulator direkt auf Ihrer Systemhardware ausführen.
Weitere Informationen zum Starten und Debuggen von Apps mit dem Android-Emulator finden Sie unter Debuggen auf dem Android-Emulator.
Beschleunigen mit Hyper-V
Lesen Sie den folgenden Abschnitt, um sicherzustellen, dass Ihr Computer Hyper-V unterstützt, bevor Sie Hyper-V aktivieren.
Überprüfen der Unterstützung für Hyper-V
Hyper-V wird auf der Windows Hypervisor-Plattform ausgeführt. Ihr Computer muss die folgenden Kriterien zur Unterstützung der Windows Hypervisor-Plattform erfüllen, um den Android-Emulator mit Hyper-V verwenden zu können:
Ihre Computerhardware muss die folgenden Anforderungen erfüllen:
- Eine 64-Bit-CPU von Intel oder eine AMD Ryzen-CPU mit SLAT (Second Level Address Translation).
- CPU-Unterstützung für VM Monitor Mode Extension (VT-c bei Intel-CPUs).
- Mindestens 4 GB Arbeitsspeicher.
Im BIOS Ihres Computers müssen die folgenden Optionen aktiviert sein:
- Virtualisierungstechnologie (Bezeichnung kann je nach Hauptplatinenhersteller variieren)
- Von Hardware erzwungene Datenausführungsverhinderung
Ihr Computer muss auf das April 2018-Update von Windows 10 (Build 1803) oder höher aktualisiert sein. Sie können überprüfen, ob Ihre Windows-Version aktuell ist, indem Sie die folgenden Schritte ausführen:
Öffnen Sie eine Eingabeaufforderung und geben Sie den folgenden Befehl ein, um zu überprüfen, ob Ihre Computerhardware und -software mit Hyper-V kompatibel ist:
systeminfo
Wenn alle Hyper-V-Anforderungen den Wert Yes (Ja) aufweisen, wird Hyper-V von Ihrem Computer unterstützt. Beispiel:
Aktivieren der Hyper-V-Beschleunigung
Wenn Ihr Computer die obigen Kriterien erfüllt, führen Sie die folgenden Schritte aus, um den Android-Emulator mit Hyper-V zu beschleunigen:
Geben Sie windows features in das Windows-Suchfeld ein, und klicken Sie in den Suchergebnissen auf Windows-Features aktivieren oder deaktivieren. Aktivieren Sie im Dialogfeld Windows-Features die Optionen Hyper-V und Windows Hypervisor-Plattform:
Nachdem Sie die Änderungen vorgenommen haben, starten Sie den Computer neu.
Wichtig
Für das Windows-Update vom 10. Oktober 2018 (RS5) und höhere Versionen müssen Sie nur Hyper-V aktivieren, da hier die Windows-Hypervisor-Plattform (WHPX) automatisch verwendet wird.
Installieren Sie Visual Studio 15.8 oder höher (diese Version von Visual Studio stellt IDE-Unterstützung zum Ausführen des Android-Emulators mit Hyper-V bereit).
Installieren Sie den Android-Emulator (Paket 27.2.7 oder höher). Um dieses Paket zu installieren, navigieren Sie zu Tools > Android > SDK Manager in Visual Studio. Klicken Sie auf die Registerkarte Extras, und vergewissern Sie sich, dass die Version des Android-Emulators mindestens 27.2.7 ist. Stellen Sie ebenfalls sicher, dass Sie Version 26.1.1 oder höher von Android SDK Tools verwenden:
Wenn Sie ein virtuelles Gerät erstellen (siehe Verwalten virtueller Geräte mit Android Device Manager), müssen Sie unbedingt ein x86-basiertes Systemimage auswählen. Wenn Sie ein ARM-basiertes Systemimage verwenden, wird das virtuelle Gerät nicht beschleunigt, und die Ausführung ist langsam.
Hyper-V sollte jetzt aktiviert sein, und Sie können Ihren beschleunigten Android-Emulator ausführen.
Beschleunigen mit HAXM
Wenn Ihr Computer Hyper-V nicht unterstützt, verwenden Sie HAXM zum Beschleunigen des Android-Emulators. Sie müssen Device Guard deaktivieren, wenn Sie HAXM verwenden möchten.
Überprüfen der HAXM-Unterstützung
Führen Sie die Schritte unter Unterstützt mein Prozessor die Intel Virtualisierungstechnik? aus, um zu ermitteln, ob Ihre Hardware HAXM unterstützt. Wenn Ihre Hardware HAXM unterstützt, können Sie überprüfen, ob HAXM bereits installiert ist, indem Sie die folgenden Schritte ausführen:
Öffnen Sie ein Eingabeaufforderungsfenster mit erhöhten Rechten, und geben Sie den folgenden Befehl ein:
sc query intelhaxm
Überprüfen Sie die Ausgabe, um festzustellen, ob der HAXM-Prozess ausgeführt wird. Wenn er ausgeführt wird, wird der Zustand
intelhaxm
in der Ausgabe alsRUNNING
aufgeführt. Beispiel:Wenn
STATE
nicht aufRUNNING
festgelegt ist, ist HAXM nicht installiert.
Wenn Ihr Computer HAXM unterstützen kann, aber HAXM nicht installiert ist, führen Sie die Schritte im nächsten Abschnitt aus, um HAXM zu installieren.
Installieren von HAXM
HAXM-Installationspakete für Windows können über die GitHub-Releaseseite Intel Hardware Accelerated Execution Manager heruntergeladen werden. Führen Sie die folgenden Schritte durch, um HAXM herunterzuladen und zu installieren:
Laden Sie von der Intel-Website den aktuellsten Windows-Installer HAXM-Virtualisierungs-Engine herunter. Wenn Sie den HAXM-Installer direkt von der Intel-Website herunterladen, können Sie sich sicher sein, dass Sie die aktuellste Version verwenden.
Führen Sie haxm-N.N.N-setup.exe aus (wobei N.N.N die Versionsnummer ist), um das HAXM-Installationsprogramm zu starten. Nehmen Sie die Standardwerte in den Installer-Dialogfeldern an:
Wenn Sie ein virtuelles Gerät erstellen (siehe Verwalten virtueller Geräte mit Android Device Manager), müssen Sie unbedingt ein x86-basiertes Systemimage auswählen. Wenn Sie ein ARM-basiertes Systemimage verwenden, wird das virtuelle Gerät nicht beschleunigt, und die Ausführung ist langsam.
Problembehandlung
Hilfe zur Problembehandlung bei der Hardwarebeschleunigung finden Sie im Handbuch zur Problembehandlung für den Android-Emulator.
Beschleunigen des Android-Emulators unter macOS
Ihnen stehen die folgenden Virtualisierungstechnologien zum Beschleunigen des Android-Emulators zur Verfügung:
Das Hypervisor-Framework von Apple. Hypervisor ist ein Feature von macOS 10.10 und höher, das das Ausführen von virtuellen Computern auf einem Mac-Computer ermöglicht.
Intel Hardware Accelerated Execution Manager (HAXM) Bei HAXM handelt es sich um eine Virtualisierungs-Engine für Computer mit Intel-CPUs.
Es empfiehlt sich, das Hypervisor-Framework zum Beschleunigen des Android-Emulators zu verwenden. Wenn das Hypervisor-Framework auf Ihrem Mac nicht verfügbar ist, können Sie HAXM verwenden. Der Android-Emulator verwendet die Hardwarebeschleunigung automatisch, wenn folgende Kriterien erfüllt sind:
Die Hardwarebeschleunigung ist verfügbar und auf dem Entwicklungscomputer aktiviert.
Der Emulator führt ein Systemimage aus, das für ein x86-basiertes virtuelles Gerät erstellt wurde.
Wichtig
Sie können einen Emulator mit VM-Beschleunigung nicht innerhalb einer anderen VM ausführen, z. B. einer VM, die von VirtualBox, VMware oder Docker gehostet wird. Sie müssen den Android-Emulator direkt auf Ihrer Systemhardware ausführen.
Weitere Informationen zum Starten und Debuggen von Apps mit dem Android-Emulator finden Sie unter Debuggen auf dem Android-Emulator.
Beschleunigen mit dem Hypervisor-Framework
Ihr Mac muss die folgenden Kriterien erfüllen, damit der Android-Emulator mit dem Hypervisor-Framework verwendet werden kann:
Sie benötigen macOS 10.10 oder höher.
Die CPU Ihres Macs muss das Hypervisor-Framework unterstützen können.
Wenn Ihr Mac die Kriterien erfüllt, verwendet der Android-Emulator automatisch das Hypervisor-Framework für die Beschleunigung. Wenn Sie sich nicht sicher sind, ob das Hypervisor-Framework auf Ihrem Mac unterstützt wird, finden Sie Möglichkeiten zur Überprüfung der Hypervisor-Unterstützung im Handbuch zur Problembehandlung.
Wenn Ihr Mac das Hypervisor-Framework nicht unterstützt, können Sie HAXM zur Beschleunigung des Android-Emulators verwenden (wird im Folgenden beschrieben).
Beschleunigen mit HAXM
Wenn Ihr Mac das Hypervisor-Framework nicht unterstützt (oder Sie eine Version vor macOS 10.10 verwenden), können Sie den Hardware Accelerated Execution Manager von Intel (HAXM) zum Beschleunigen den Android-Emulators verwenden.
Vor dem ersten Gebrauch des Android-Emulators mit HAXM sollten Sie überprüfen, ob HAXM installiert ist und dem Android-Emulator zur Verfügung steht.
Überprüfen der HAXM-Unterstützung
Sie können überprüfen, ob HAXM bereits installiert ist, indem Sie die folgenden Schritte ausführen:
Öffnen Sie ein Terminal, und geben Sie den folgenden Befehl ein:
~/Library/Developer/Xamarin/android-sdk-macosx/tools/emulator -accel-check
Bei diesem Befehl wird davon ausgegangen, dass das Android SDK am Standardspeicherort installiert ist (~/Library/Developer/Xamarin/android-sdk-macosx). Falls dies nicht der Fall ist, passen Sie den obigen Pfad für den Speicherort des Android SDK auf Ihrem Mac-Computer entsprechend an.
Wenn HAXM installiert ist, gibt der obige Befehl eine Meldung zurück, die dem folgenden Ergebnis ähnelt:
HAXM version 7.2.0 (3) is installed and usable.
Wenn HAXM nicht installiert ist, wird eine Nachricht zurückgegeben, die der folgenden Ausgabe ähnelt:
HAXM is not installed on this machine (/dev/HAX is missing).
Wenn HAXM nicht installiert ist, führen Sie die Schritte im nächsten Abschnitt aus, um HAXM zu installieren.
Installieren von HAXM
HAXM-Installationspakete für macOS können über die Seite Intel Hardware Accelerated Execution Manager heruntergeladen werden. Führen Sie die folgenden Schritte durch, um HAXM herunterzuladen und zu installieren:
Laden Sie von der Intel-Website den aktuellsten macOS-Installer HAXM-Virtualisierungs-Engine herunter.
Führen Sie den HAXM-Installer aus. Nehmen Sie die Standardwerte in den Installer-Dialogfeldern an:
Problembehandlung
Hilfe zur Problembehandlung bei der Hardwarebeschleunigung finden Sie im Handbuch zur Problembehandlung für den Android-Emulator.