Wie kann ich den Android-Emulator für Intel x86 Atom ohne Hardwarebeschleunigung unter Windows 8 für API 21 und 19 ausführen?

81

Ich habe Hyper V oder Hardwarebeschleunigung nicht aktiviert und möchte es auch nicht.

Gibt es eine Möglichkeit, Android Emulator für Intel x86 Atom ohne Hardwarebeschleunigung unter Windows 8 zu starten

Ich habe AVDs mit jeder möglichen Kombination erstellt und jede konnte die AVD-Emulatorinstanz nicht starten, wobei beim Starten der gleiche Fehler ausgegeben wurde

Emulator: FEHLER: Die x86-Emulation erfordert derzeit eine Hardwarebeschleunigung! Bitte stellen Sie sicher, dass Intel HAXM ordnungsgemäß installiert und verwendbar ist. CPU-Beschleunigungsstatus: HAX-Kernelmodul ist nicht installiert!

ODER es ist so, dass die für Intel Atom 86 und 64 angegebenen Images nicht ohne HARDWARE-BESCHLEUNIGUNG UND Hyper V für API 21 und 19 ausgeführt werden können

Ich habe viele ähnliche Fragen gefunden und fast die gesamte Dokumentation gelesen, aber es ist nicht klar, ob sie ohne Hyper-V- und Hardware-Beschleunigung ausgeführt werden können oder nicht, daher diese direkte Frage

Wie testest du in solchen Fällen auf Android?

dcoder
quelle
3
"Ich habe weder Hyper V noch Hardwarebeschleunigung aktiviert und möchte dies auch nicht." Warum nicht? (Besonders in Bezug auf "... und will nicht") Wenn es etwas zum Laufen bringen würde, das Sie eindeutig brauchen, um zu arbeiten? Wann haben 2014 fast alle CPUs Virtualisierung eingebaut?
TJ Crowder
6
Vielen Dank, Tj. Ich schätze Ihre Antwort und Ihre Zeit, da ich gleichermaßen an Leistungssteigerung und Engg glaube. Das kann es bekommen, aber die ursprüngliche Frage bleibt, können wir oder können wir sie nicht ohne Hardwarebeschleuniger
ausführen
Vermutlich gibt es Methoden, die dies rein softwaremäßig tun können. Die Fehlermeldung deutet jedoch darauf hin, dass die derzeit verwendete Emulations-Engine dies nicht ohne Hardware-Unterstützung tun kann.
Chris Stratton
6
Denken Sie daran, dass viele von uns nicht mit HAXM laufen können. AMD-Benutzer speziell.
A. Grandt
1
Für AMD-Benutzer wird dies in der Frage diskutiert , ob Intels HAXM-Äquivalent für AMD unter Windows-Betriebssystemen verwendet wird. Der allgemeine Konsens besteht darin, stattdessen den Genymotion-Emulator zu verwenden.
Simon East

Antworten:

139

Im aktuellen AVD-Manager ist dies nicht möglich. Sie haben nur die Möglichkeit, ARM-Images zu verwenden, für die keine Hardwarevirtualisierung erforderlich ist.

So führen Sie ARM-Images aus:

  1. Öffnen Sie den AVD-Manager.
  2. Erstellen Sie ein neues "virtuelles Gerät" ODER klicken Sie mit der rechten Maustaste auf ein vorhandenes Bild und wählen Sie "Duplizieren".
  3. Wählen Sie arm * anstelle von x86 / x64.
  4. Fahren Sie mit dem Assistenten fort.
  5. Lauf!

Dies ist zwar die verfügbare Lösung, aber immer noch eine langsame !!

Eslam Sameh Ahmed
quelle
15
Dies sollte die gewählte Antwort sein.
user3041539
1
sehr langsam, aber der Weg ermöglicht es, Android-Emulator ohne Hardware-Beschleunigung auszuführen.
Konstruktor
1
Unmittelbar nach Auswahl der Gerätegröße erhalten Sie die Option, das System-Image auszuwählen, bei dem einige von ihnen als armeabi-v7a unter der Spalte von ABI
Eslam Sameh Ahmed
3
Dies ist hier keine Option.
Eslam Sameh Ahmed
3
@HappyCoder "3. Arm auswählen * .. bedeutet, dass Sie den
auswählen
32

Sie können die Verwendung des Soft x86-Emulators weiterhin erzwingen, indem Sie ihn über die Befehlszeile ausführen und die Option -no-accel verwenden, dh aus dem Verzeichnis SDK / tools:

emulator -avd AVD_NAME -memory 768 -no-accel -gpu on

ABER dies funktioniert immer noch nicht mit dem aktuellen (V24) SDK, da die aktuellen x86-Systemabbilder den weichen x86-Emulator zum Absturz bringen :-(

Die einzige Möglichkeit, dies wieder zum Laufen zu bringen, bestand darin, die SDK-Tools von hier auf V22.3 herunterzustufen: http://dl-ssl.google.com/android/repository/tools_r22.3-windows.zip und eine AVD mit zu erstellen Ein herabgestuftes Systemabbild, z. B. https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r02.zip . (Dies ist also keine Hilfe, wenn Sie auf neueren Versionen von Android testen müssen).

Google ist zu einer aktualisierten Version seines Emulators übergegangen, die auf einer neueren Version von qemu basiert, und bietet Binärdateien für Arm- und Mips-Emulatoren. Das x86-Äquivalent wurde jedoch nicht ausgeliefert (es gibt keinen Emulator-ranchu-x86.exe und keinen Emulator64) -ranchu-x86.exe). Wenn dies der Fall war oder wenn sich jemand anderes die Mühe machte, seine Emulatorquelle mit aktiviertem "x86" -Flag einzurichten und zu kompilieren, könnte die weiche Emulation _x86 möglicherweise wieder funktionieren.

Graeme Gill
quelle
3
Dies sollte die akzeptierte Antwort sein. Alle anderen Antworten erklären, wie man mit Beschleunigung läuft , nicht ohne
Jamby
Dadurch lief mein Emulator auf einer virtuellen Box. Langsam aber rennend, ja!
Jankapunkt
@Graeme Nach dem Herunterladen der SDK-Tools V22.3 in einen separaten Ordner zum Testen und Ausführen des Emulators mit der -no-accelOption wird in der Befehlszeile angezeigt unknown option: -no-accel. Hat diese Option in der Vergangenheit wirklich funktioniert? Ist die angegebene SDK-Tool-Version korrekt? Oder hat Google das V22.3-Paket so aktualisiert, dass es nicht mehr funktioniert?
MrCC
Das funktioniert tatsächlich. Es ist langsam (wie erwartet), funktioniert aber.
Egor Pavlikhin
8

Kurze Antwort: Nein. Bis vor kurzem (vor ungefähr einem Monat) konnten Sie dies tun, aber mit den neuesten Updates ist dies nicht möglich. (Siehe Update auf Android SDK Tools 23.0.5 und avd startet nicht ).

Ich habe etwas Ähnliches gemacht: Entwicklung in einer virtuellen Maschine und konnte daher die Hardwarebeschleunigungsfunktionen nicht verwenden, da sie nur auf der Hostmaschine verfügbar sind. Ich habe Intel x86-Images mit der Option Host-GPU verwenden verwendet . da sie auch ohne Hardwarebeschleunigung viel schneller als die ARM-Version waren. Nach diesem Update beginnen meine früher funktionierenden Emulator-AVDs jedoch nicht mehr mit derselben genauen Fehlermeldung. Außerdem können sowohl Genymotion- als auch Xamarin-Android-Emulatoren nicht verwendet werden, da sie auch Hardwarebeschleunigung benötigen (es handelt sich tatsächlich um VMs, die die Hardwarebeschleunigung aus Geschwindigkeitsgründen verwenden und daher nicht in einer anderen VM ausgeführt werden können).

Ich habe diese Lösung gefunden, aber noch nicht ausprobiert. Die Grundidee ist, sich noch innerhalb einer VM zu entwickeln; Zum Testen stellen Sie jedoch eine Verbindung zu einem Emulator her, der auf dem Hostcomputer ausgeführt wird (und diese Emulator-VM kann jetzt die Hardwarebeschleunigungsfunktion verwenden).

Ankur
quelle
Thx, ich dachte das gleiche, ich laufe jetzt avds mit HA
dcoder
8

Gleiches Problem wie unter Fehler beim Starten von AVD :

1) Installieren Sie den Intel x86 Emulator Accelerator (HAXM-Installationsprogramm) über den Android SDK Manager.

Geben Sie hier die Bildbeschreibung ein

2) Ausführen (für Windows):

{SDK_FOLDER}\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

oder (für OSX):

{SDK_FOLDER}\extras\intel\Hardware_Accelerated_Execution_Manager\IntelHAXM_1.1.1_for_10_9_and_above.dmg

3) Starten Sie den Emulator.

Daniel
quelle
7
IntelHAXM wird verwendet, um eine hardwarebasierte Emulation einzurichten, die für das Originalposter nicht verfügbar ist
Tom Cerul
Dies löst die Frage von OP nicht, aber es hat mir sicher geholfen herauszufinden, warum ich selbst nach der Installation von HAXM kein x86-Image ausführen konnte. Vielen Dank!
Raj
Nun, die Frage lautet eindeutig: Kann der Android-Emulator für Intel x86 Atom ohne das funktionieren, was Sie hier gepostet haben? dh HAXM aktiviert? Wie kann dieser Beitrag das Problem lösen, das @dcoder gestellt hat?
Siva Senthil
Gibt es eine Möglichkeit, dies unter Linux (Ubuntu) nur über das Terminal zu erreichen?
Vini.g.fer
3

Gibt es eine Möglichkeit, Android Emulator für Intel x86 Atom ohne Hardwarebeschleunigung unter Windows 8 zu starten

Nicht mit dem Standard-Android SDK-Emulator, da Intel HAXM erforderlich ist und HAXM die Aktivierung von Virtualisierungserweiterungen wünscht.

Ob Genymotion oder etwas anderes von einem anderen unabhängigen Entwickler Ihre gewünschte Kombination unterstützen kann, kann ich nicht sagen.

CommonsWare
quelle
Thx cw, wenn ja, dann lass mich Genymotion anprobieren und mich bei dir melden, Thx nochmal
dcoder
@dcoder Könnten Sie Genymotion zum Laufen bringen? Weil ich auch Probleme mit AVD und HAXM habe. Meine andere Option ist Genymotion. Ich würde gerne lernen, ob es für Sie funktioniert hat oder nicht.
Eluleci
Der Punkt ist, dass es früher auf früheren Versionen des SDK mit Soft x86-Emulation funktioniert hat. Die Frage ist also entweder a) wie die Soft x86-Emulation wieder aktiviert wird oder b) wie das SDK bis zu dem Punkt heruntergestuft wird, an dem dies wieder funktioniert.
Graeme Gill
@GraemeGill: "Früher funktionierte es mit der Soft-x86-Emulation in früheren Versionen des SDK" - nach meiner besten Erinnerung benötigten x86-Emulator-Images immer HAXM. HAXM ist sicherlich seit Ende 2012 erforderlich. Wenn Sie gegenteilige Beweise haben, geben Sie bitte Links an.
CommonsWare
@ CommonsWare: In meiner Antwort unten finden Sie Versionen des Systems mit einem funktionierenden Soft x86-Emulator.
Graeme Gill
3

Die Verwendung der Hardwarebeschleunigung hängt vom System-Image ab, das Sie auf dem Emulator ausgewählt haben.

Damit,

  1. Gehen Sie zum AVD-Manager, erstellen Sie ein virtuelles Gerät, wählen Sie Hardware aus und klicken Sie auf Weiter.

  2. Wählen Sie das System-Image aus, für dessen Ausführung kein HAXM (Hardwarebeschleunigung) erforderlich ist. (Das wird rechts unten im System-Image-Fenster angezeigt.)

Hinweis: Für andere Systeme, die HAXM erfordern, gibt es keine Möglichkeit, sie ohne Hardwarebeschleunigung auszuführen.

Mina Samir
quelle
3

Verwenden Sie Bluestacks als Emulator, um die beste Leistung zu erzielen. Blusestack arbeitet schnell ohne hardwarebasierte Emulation

So verbinden Sie Bluestack mit Android Studio.

  • Schließen Sie Android Studio.
  • Wechseln Sie zum Speicherort adb.exe (standardmäßig C: \ Users \ Tarun \ AppData \ Local \ Android \ sdk \ platform-tools)
  • Führen Sie adb connect localhost:5555von diesem Ort aus.
  • Starten Sie Android Studio und Sie erhalten Blue Stack als Emulator, wenn Sie Ihre App ausführen.
Gopi Raj
quelle
Angeforderte Adresse kann nicht zugewiesen werden
Elia Weiss
1

Ich bin auf dasselbe Problem gestoßen und habe die Lösung unter http://developer.android.com/tools/devices/emulator.html#vm-windows gefunden

Befolgen Sie einfach diese einfachen Schritte:

  1. Starten Sie den Android SDK Manager, wählen Sie Extras und dann Intel Hardware Accelerated Execution Manager.

  2. Führen Sie nach Abschluss des Downloads [sdk] /extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.exe aus

  3. Befolgen Sie die Anweisungen auf dem Bildschirm, um die Installation abzuschließen.

Vicenç
quelle
29
Dies beantwortet nicht die Frage "Können wir es ohne Hardwarebeschleunigung ausführen?"
Pacerier
13
Das ist nicht die Antwort! Hast du die Frage überhaupt gelesen? Und wer haben sie diese Antwort positiv bewertet? !!!!!
Morteza
Sie antworten auf die Installation von Intel Hardware Accelerated Execution Manager, die diese Frage nicht möchte
Rajeev Kumar
Dies ist keine Lösung, wenn HAXM auf Ihrem x86-Hostprozessor nicht funktioniert, da ihm die neuesten Visualisierungsfunktionen fehlen.
Graeme Gill
1

Informationen hierzu finden Sie in den Anforderungen von intel.com: Wichtig: Intel HAXM kann nicht auf Systemen ohne Intel-Prozessor oder mit einem Intel-Prozessor verwendet werden, dem die im obigen Abschnitt "Hardwareanforderungen" beschriebenen Hardwarefunktionen fehlen. So bestimmen Sie die Funktionen Ihres Intel-Prozessors

[Installationsanweisungen für Intel® Hardware Accelerated Execution Manager] https://software.intel.com/en-us/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-mac-os-x

Mein PC unterstützt vt-x nicht, ich kann Android Studio 1.0.2 nicht verwenden.

OpenCode
quelle
1
Sie können immer noch Android Studio verwenden, aber bitte verwenden Sie "Arm" nicht "x86" Image, wenn Sie ein neues virtuelles Gerät in AVD Manager
erstellen
Die Verwendung der Armemulation hilft Ihnen nicht beim Testen des nativen x86-Codes.
Graeme Gill
1

Ja, es ist möglich, Ihren Android-Emulator ohne Hardware-Beschleuniger auszuführen. Um dies zu tun, müssen Sie Ihr virtuelles Android-Gerät öffnen. Wenn Sie zur Konfiguration des Systemabbilds gelangt sind, wird Ihnen vorgeschlagen, welche Version des Android-Abbilds Sie verwenden möchten. Unabhängig davon, welche Version des Android-Systemabbilds Sie auswählen, müssen Sie sicherstellen, dass ABI armeabi-v7a und Ihr Ziel das Systemabbild ameabi-v7a mit Google-APIs ist. Und dann erledigen Sie den Rest der Aufgabe und überprüfen Sie Ihren Emulator.

Ludovic
quelle
Dies ist nicht das, was die Frage stellte.
Rory McCrossan
1
Das Ausführen von armabi hilft nicht beim Debuggen von x86-spezifischen Fehlern.
Graeme Gill
0

Ich habe einen PC mit Intel C2d ohne Hardware-Beschleunigung Ich habe das gleiche Problem in Android Studio. Zuerst langweile ich mich mit Android Studio und habe Eclipse + SDK + ADT installiert. Dann habe ich alles installiert und den Emulator gestartet. Es hat funktioniert. Dann hat derselbe Emulator in Android Studio für den direkten Start der Anwendung in Android Studio funktioniert. Außerdem habe ich die Beispiel-App dieses Emulators ausgeführt So können Sie Android Studio ohne Virtualisierungstechnik ausführen, auch wenn Ihr Prozessor vt-x nicht unterstützt

user3309272
quelle
0

Sie benötigen mindestens "VT-x-unterstützten Prozessor", um den Android-Emulator mit Hardwarebeschleunigung auszuführen.

Wenn Sie "Hyper-V" in Windows 8 aktiviert oder installiert haben, entfernen Sie es, deaktivieren Sie das "Hyper-Threading" und aktivieren Sie "Virtualisierung".

Muzammil Peer
quelle
Warum wird nicht automatisch auf die weiche x86-Emulation zurückgegriffen, wenn keine Virtualisierung verfügbar ist? Das SDK war dazu früher in der Lage.
Graeme Gill
0

Beim Ausführen von 'App' (grünes Dreieck): Wählen Sie in der Geräteauswahl die Option Emulator starten und klicken Sie auf die Schaltfläche [...]. Klicken Sie auf Nexus (oder einen anderen). Klicken Sie auf Duplizieren. Klicken Sie im Betriebssystem (Beispiel Android 6.0) auf Ändern: Klicken Sie auf Anzeigen Herunterladbare Systemabbilder. Suchen Sie nach dem Betriebssystem armeabi-v7a und klicken Sie auf Download. Stellen Sie dieses Betriebssystem im Gerät ein. Beenden Sie und wählen Sie dieses Gerät für die Emulation.

FelipeR
quelle