2016-02-09 20 views
28

Kann ich den Android Studio- und Android SDK-Emulator in einer virtuellen Microsoft Hyper-V-Maschine ausführen? Bitte aufmerksam lesen.Kann ich Android Studio (Android SDK-Emulator) auf einer virtuellen Microsoft Hyper-V-Maschine ausführen?

Ich verwende Hyper-V bereits viel für andere Zwecke. Jetzt muss ich eine App für Android entwickeln.

Ich habe eine neue virtuelle Maschine (Windows 10) installiert und Android Studio installiert. Ich kann den Android-Emulator nicht ausführen, weil ihm die "Intel HAXM-Software" fehlt.

Ich lese viel darüber, dass es nicht möglich ist, Hyper-V NEXT zu Android Studio zu installieren, aber keine der Post sagen tatsächlich etwas über die Installation in einem Hyper-V-Computer.

+1

Können Sie im Allgemeinen eine virtuelle Maschine innerhalb von Hyper v ausführen? Denn das ist im Wesentlichen, was Sie tun –

+2

"Kann ich Android Studio in einem Microsoft Hyper-v virtuellen Computer ausführen?" - Das sollte in Ordnung sein. Das ist jedoch nicht dein Problem. "Ich kann den Android-Emulator nicht ausführen, weil ihm die 'Intel-HAXM-Software' fehlt." - Android Studio ist nicht dein Problem. Der Android SDK-Emulator ist dein Problem. Die ARM-Emulator-Images funktionieren möglicherweise in Ihrer virtuellen Maschine, sind jedoch sehr langsam. Ich bezweifle, dass die x86-Emulator-Images in Ihrer virtuellen Maschine funktionieren. Testen Sie Ihre App auf Android-Hardware oder testen Sie einen Drittanbieter-Emulator wie Genymotion. – CommonsWare

+1

Verstanden, also die Antwort ist kurz: Nein ?! – Lectere

Antwort

30

Siehe diesen Link: How to run Android Studio on Windows without disabling Hyper-V

Die Lösung (wenn Sie wollen Hyper-V nicht deaktivieren) Microsofts Android-Emulator zu verwenden ist, die here ist ein kostenloser Download.

Um dies mit Android Studio zu verwenden, müssen Sie zuerst den Emulator ausführen. Navigieren Sie dann in Android Studio zu "Ausführen - Konfigurationen bearbeiten" und wählen Sie unter "Optionen für die Bereitstellung" die Option "Geräteauswahl auswählen".

Führen Sie Ihr Projekt aus, und wählen Sie den VS-Emulator aus, ignorieren Sie die Einladung zu "Hyper-V deaktivieren".

+3

Ich habe versucht, Ihre Lösung zu verwenden. Aber sobald ich einen Android-Emulator mit dem Microsoft-Emulator ausführen möchte, gibt es mir den gleichen (-ish) Fehler wie wenn ich versuche, den Android-Emulator mit Android-Studio auszuführen. (beklagt sich buchstäblich über Inkompatibilität mit Hyper-V). Haben Sie noch andere Alternativen? – Timon

+0

https://www.visualstudio.com/zh-hans/vs/msft-android-emulator/?rr=https%3A%2F%2Fwww.google.com%2F – lotosbin

+0

Das ist der gleiche Microsoft Android Emulator ... – Timon

0

einfach sicher, bevor Sie mit den Schritten beginnen vorgeschlagen von lotosbin Sie die folgenden Schritte ausführen:

Öffnen ein Admin-Eingabeaufforderung und geben Sie den folgenden; dann starte den Emulator neu.

`reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Android SDK Tools" /v Path /d %localappdata%\Android\sdk` 

Oder die Registrierung manuell aktualisieren:

  1. In regedit Navigieren Sie zu HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node.
  2. Erstellen Sie einen neuen Schlüssel namens Android SDK Tools (wenn nicht bereits vorhanden).
  3. Navigieren Sie zu diesem Schlüssel.
  4. Erstellen Sie einen neuen Zeichenfolgenwert namens Pfad. Setzen Sie den Wert auf den Standort Ihres Android SDK, der wie C: \ Benutzer \ IhrName \ AppData \ Local \ Android \ sdk ist.
+0

Warum? Wofür ist das? Was passiert wenn nicht? – Hunv

4

Hyper-V-Unterstützung für verschachtelte Virtualisierung im 10 Anniversary Update Windows hinzugefügt (veröffentlicht August 2016) und Windows Server 2016. Allerdings ist die einzige von Microsoft unterstützte Verwendung von verschachtelten Virtualisierung läuft Hyper-V innerhalb der VM, nicht HAXM. Von der official documentation, "Andere Virtualisierungsanwendungen als Hyper-V werden in virtuellen Hyper-V-Maschinen nicht unterstützt und sind wahrscheinlich fehlgeschlagen."

Die change log für die neueste Version von HAXM berichtet, dass Intel "Ein Problem mit Hyper-V verschachtelte Virtualisierung unterstützt, die Android Emulator vom Booten verhindert hatte." Obwohl dies von Microsoft nicht unterstützt wird, scheint es möglich zu sein, dass HAXM in einer Hyper-V-VM verschachtelt ausgeführt werden kann.

Wenn dies der Fall ist, müssen Sie die Verschachtelung für diese VM aktivieren, damit HAXM in einer Hyper-V-VM funktioniert.Führen Sie diesen Befehl auf dem VM, während es im AUS-Zustand ist:

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true 

Danach sollten Sie in der Lage, die neueste Version von HAXM innerhalb der VM zu installieren, so dass die Verwendung des Android-Emulator. Auch dies wurde von mir nicht persönlich bestätigt und wird von Microsoft nicht unterstützt. Daher können Ihre Laufzeiten variieren.

Volle Offenlegung: Ich arbeite bei Microsoft im Hyper-V-Team.

+1

Während es technisch funktioniert, ist es langsam wie die Hölle. Und wird keine GPU verwenden. Also ... unbrauchbar. –

+0

@MihaMarkic Das passiert, wenn Sie die ARM-VM ausführen – Hunv

+0

Für mich war der Android SDK Manager nicht bereit, HAXM zu installieren. Sie können es hier herunterladen und installieren: https://software.intel.com/de-de/articles/intel-hardware-accelerated-execution-manager-intel-haxm. Danach musste ich den GPU Emulator Mode in den Einstellungen der VM auf "auto" setzen und der Emulator arbeitete in der VM. – Hunv

1

Sie können Android Studio in einer virtuellen Hyper-V-Maschine einrichten. Der Vorbehalt ist, dass Sie den Visual Studio Android Emulator anstelle von Googles Android Emulator verwenden müssen.

  1. Erstellen Sie Ihre neue VM

Öffnen Sie den Hyper-V-Manager und erstellen Sie eine neue VM mit Windows 10 den Assistenten in der Hyper-V-Management-Anwendung. Ich werde nicht auf die Einzelheiten eingehen, da der Assistent ziemlich selbsterklärend ist. Die folgenden 4 Einstellungen sind entscheidend für unser Android-Entwickler-Setup und niemand sagt dir wirklich etwas darüber. Ich musste einige seriöse Google-Fu anwenden:

Legen Sie eine statische Menge an RAM für die VM. Die VM benötigt mindestens 4 GB davon. 6 oder 8 GB ist besser. Mein Laptop konnte kaum 4 GB RAM für die VM handhaben, aber es hat den Trick gemacht. Stellen Sie die VM so ein, dass sie 2 CPUs hat, selbst wenn Ihr Rechner nur 1 CPU hat. Verbinden Sie die virtuelle Maschine mit Ihren virtuellen Switches, um sicherzustellen, dass die VM Internetzugriff hat. Erlaube Mac Network Spoofing.

  1. verschachtelte Virtualisierung aktiviert Sie das Visual Studio Android Emulator laufen - die selbst eine virtuelle Maschine -von in einer virtuellen Maschine ist, und beide sind mit Hyper-V. Dies bedeutet, dass Sie die geschachtelte Virtualisierung aktivieren müssen, die nicht standardmäßig konfiguriert ist. Öffnen Sie PowerShell auf Ihrem Hostcomputer und führen Sie den folgenden Befehl aus. Ersetzen Sie durch den Namen Ihrer VM.

Set-VMProcessor -VMName -ExposeVirtualizationExtensions $ true

  1. Visual Studio Android Emulator

Stellen Sie sicher, dass Hyper-V INSIDE VM aktiviert ist. Laden Sie den VS Android Emulator herunter. Laden Sie nach Abschluss der Installation ein Profil herunter und starten Sie das Gerät. Es dauert ein paar Minuten, besonders für den ersten Start. Es ist wirklich geradlinig, aber es gibt eine Sache, die hier beachtet werden sollte: Das Starten des Geräts dauert ewig (wie in "wird nie fertig"), wenn die VM nicht genug RAM hat. Es wird dir nie davon erzählen. Wenn Ihre VM über 4 GB RAM verfügt, sollten Sie in der Lage sein, ein Profil für ein Gerät mit bis zu 1 GB RAM auszuführen. Ein 2-GB-Profil funktioniert nicht. Ich wollte ein Gerät mit API-Level 23 und musste wegen dieser Einschränkung ein anderes Profil als das Standardprofil wählen. Außerdem: Die Auswahl eines Geräteprofils mit 512 GB RAM hat die Startzeit des Emulators erheblich verbessert. Überprüfen Sie, ob der Emulator selbst mit dem Internet verbunden ist. Wenn Sie hier Probleme haben, ist es im Grunde die gleichen Schritte wie bei der VM auf dem Host-PC öffnen Sie die Hyper-V-Management-App. Für jedes Profil, das Sie im VS Android Emulator erstellt haben, sollte eine VM vorhanden sein. Überprüfen Sie, ob die Netzwerkschalter der VM korrekt konfiguriert sind. Wenn der "Host" -VM korrekt konfiguriert wurde, sollte es funktionieren.

  1. Führen Sie Ihre Android-App in Android Studio. Führen Sie Ihren neuen Visual Studio Android Emulator aus. Android Studio sollte den laufenden Emulator als Gerät erkennen und Ihnen ermöglichen, Ihre App darauf auszuführen. Sie können den VS-Emulator nicht in Android Studio starten.