Warum ist der Android-Emulator so langsam? Wie können wir den Android-Emulator beschleunigen? [geschlossen]

3399

Ich habe einen 2,67-   GHz-Celeron-Prozessor und 1,21   GB RAM auf einem x86 Windows XP Professional-Computer.

Mein Verständnis ist, dass der Android-Emulator auf einem solchen Computer ziemlich schnell starten sollte, für mich jedoch nicht. Ich habe alle Anweisungen zum Einrichten der IDE, SDKs, JDKs usw. befolgt und einige Erfolge beim schnellen Starten des Emulators erzielt, aber das ist sehr selten. Wie kann ich dieses Problem nach Möglichkeit beheben?

Selbst wenn der Startbildschirm gestartet und geladen wird, ist er sehr träge. Ich habe die Eclipse IDE in Version 3.5 (Galileo) und 3.4 (Ganymede) ausprobiert .

Peter Mortensen
quelle
79
Alternative ist Genymotion. genymotion.com . Das geht viel schneller. Einfache Installation.
Sukitha Udugamasooriya
9
Ich habe festgestellt, dass der Emulator unter Linux viel schneller läuft (und damit meine ich waaaay). Ich habe einen Laptop mit Dualboot. Unter Windows dauert der Start des Emulators etwa 15 Minuten, unter Linux etwa 30 Sekunden. Ich kenne andere Betriebssysteme wie OSX nicht, fühle mich aber wie eine Windows-Sache.
Daniël van den Berg
11
Es wird berichtet, dass Android Studio 2.0 nicht nur einen viel schnelleren Emulator hat, sondern auch einen "Sofortlauf" verwendet, mit dem bestimmte Änderungen in Ihrer Quelle, wie z. B. XML, innerhalb von Sekunden auf dem Ziel bereitgestellt werden können, ohne dass die APK neu erstellt werden muss neu eingesetzt. Siehe android-developers.blogspot.co.uk/2015/11/…
Carl Whalley
12
Ich denke, Ihr RAM ist sehr klein, damit ein Emulator schneller läuft.
Zia U Rahman
5
Eine Möglichkeit, verwirrte Kommentare zu vermeiden, könnte darin bestehen, ein kleines Hinweisfeld zu haben, in dem angegeben wird, dass die Frage älter als beispielsweise 2 Jahre ist. Die Technologie ändert sich schnell und Sie möchten, dass das Alter den Rang beeinflusst, auch wenn die Frage nicht wie auf kleineren Websites geschlossen / archiviert werden sollte.
Henrik Erlandsson

Antworten:

1436

Aktualisieren

Sie können jetzt die Schnellstartoption für Android Emulator aktivieren. Dadurch wird der Emulatorstatus gespeichert und der Emulator wird beim nächsten Start schnell gestartet.

Klicken Sie auf die Schaltfläche Emulator bearbeiten und dann auf Show Advanced Setting. Dann aktivieren Sie Quick Bootwie unten Screenshot.

Schnellstart

Android Development Tools (ADT) 9.0.0 (oder höher) verfügt über eine Funktion, mit der Sie den Status der AVD (Emulator) speichern und Ihren Emulator sofort starten können. Sie müssen diese Funktion aktivieren, während Sie eine neue AVD erstellen, oder Sie können sie später erstellen, indem Sie die AVD bearbeiten.

Außerdem habe ich das erhöht Device RAM Size, 1024was zu einem sehr schnellen Emulator führt.

Weitere Informationen finden Sie in den folgenden Screenshots.

Erstellen einer neuen AVD mit der Funktion zum Speichern von Schnappschüssen.

Android-Emulator mit Funktion zum Speichern von Schnappschüssen.

Starten des Emulators aus dem Snapshot.

Starten des Emulators aus dem Snapshot.

Informationen zur Beschleunigung Ihres Emulators finden Sie unter Beschleunigen Sie Ihren Android-Emulator! ::

Vikas Patidar
quelle
23
Wenn Sie ein vorhandenes Gerät aktualisieren, löschen Sie die Benutzerdaten beim ersten Start von Snapshot
Mark Bakker
16
Ich habe die AVD so eingestellt, aber beim Neustart der AVD scheint sie immer noch langsam zu sein. Warum?
Zhongshu
9
@Peter Ehrlich: Gehen Sie einfach zum Fenster> Android SDK und AVD Manager und wählen Sie AVD, das Sie starten möchten, aus der Liste aus und klicken Sie dann im rechten Bereich auf die Schaltfläche Start . Es wird das gleiche öffnen, das Sie wollen.
Vikas Patidar
3
Beim Einstellen von 1024 wurde "Fehler beim Zuweisen von Speicher" angezeigt. Außerdem wurde am unteren Rand des Konfigurationsfensters eine Warnung angezeigt, die besagt: "Unter Windows kann die Emulation von RAM mit mehr als 768 MB fehlschlagen, abhängig von ..." Ich habe versucht, sie auf 770 einzustellen, und dann hat es geklappt. Es schlug fehl, es auf 800 zu setzen.
Ehrfurcht
5
@ Msmit1993: Sie können einen Intel x86-basierten Emulator mit dem HAX-Tool verwenden. Glauben Sie mir, Sie werden überrascht sein, dass der Emulator schneller ist als Ihr eigentliches Gerät.
Vikas Patidar
1135

WICHTIGER HINWEIS : Bitte zuerst beziehen sich auf die Intel - Liste über VT um sicherzustellen , dass Ihre CPU unterstützt Intel VT zu machen.

HAXM beschleunigt den langsamen Android-Emulator

HAXM steht für "Intel Hardware Accelerated Execution Manager"

Derzeit unterstützt es nur Intel® VT (Intel Virtualization Technology).

Der Android-Emulator basiert auf QEMU . Die Schnittstelle zwischen QEMU und dem HAXM-Treiber auf dem Hostsystem ist herstellerunabhängig ausgelegt.

HAXM

Schritte zum Konfigurieren Ihrer Android-Entwicklungsumgebung für HAXM

  1. Eclipse aktualisieren: Stellen Sie sicher, dass Ihre Eclipse-Installation und das ADT-Plug-In vollständig auf dem neuesten Stand sind.

  2. Aktualisieren Sie Ihre Android-Tools: Nach jedem Update des Eclipse-Plug-Ins ist es wichtig, Ihre Android SDK-Tools zu aktualisieren. Starten Sie dazu den Android SDK Manager und aktualisieren Sie alle Android SDK-Komponenten. Um HAXM nutzen zu können, müssen Sie mindestens Version 17 haben.

Geben Sie hier die Bildbeschreibung ein

  • Laden Sie die x86 Atom System Images und den Intel Hardware Accelerated Execution Manager-Treiber herunter . Folgen Sie dem Bild unten:

Geben Sie hier die Bildbeschreibung ein

  • Installieren Sie den HAXM-Treiber, indem Sie "IntelHaxm.exe" ausführen. Es wird sich an einem der folgenden Standorte befinden:

    • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    • C:\Users\<user>\adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    Wenn das Installationsprogramm mit der Meldung fehlschlägt, dass Intel VT aktiviert sein muss, müssen Sie dies im BIOS aktivieren . Informationen dazu finden Sie in der Beschreibung unter Aktivieren von Intel VT (Virtualization Technology) .

Installieren Sie .exe oder .dmg

  • Erstellen Sie eine neue x86-AVD: Folgen Sie dem Bild unten:

AVD erstellen

  • Oder wie für neues SDK, Geben Sie hier die Bildbeschreibung ein
Prashanth Sams
quelle
19
Gutes Schreiben. Wenn Sie nach Dokumenten von Google suchen (einschließlich einiger Unterschiede für Mac), finden Sie diese hier: developer.android.com/tools/devices/emulator.html#accel-vm
Todd Price
103
Funktioniert nicht unter Linux.
Kshitiz Sharma
14
Ich habe diese Lösung ausprobiert. Es funktionierte. Ich habe jedoch mit MonoDroid installiert und konnte IntelHaxm.exe für eine Minute nicht finden. Es war hier: C: \ Benutzer \ jbarneck \ AppData \ Local \ Android \ android-sdk \ extras \ intel
Rhyous
11
Wow, ich kann dir nicht genug danken! Ich kann nicht glauben, dass ich die ganze Zeit mit dem langsamen Emulator gelebt habe. Ich fand das normal. Ich vermisse die schnellen Startzeiten wirklich. Gibt es nicht eine Möglichkeit, neben der GPU-Beschleunigung auch einen Schnappschuss zu aktivieren?
Reda
3
Das funktioniert super. Vielen Dank für das Teilen! Wenn "Host-GPU verwenden" aktiviert ist, flackert der Emulator stark, aber auch ohne aktivierte Host-GPU ist es jetzt sehr schnell.
user1619275
595

Probieren Sie Android x86 aus . Es ist viel schneller als der Google Android Emulator. Folge diesen Schritten:

  1. Installieren Sie VirtualBox .
  2. Laden Sie die gewünschte ISO-Datei herunter .
  3. Erstellen Sie eine virtuelle Maschine als Linux 2.6 / Anderes Linux, 512 MB RAM, HD 2 GB. Netzwerk: PCnet-Fast III, angeschlossen an NAT . Sie können auch einen Bridged-Adapter verwenden, benötigen jedoch einen DHCP- Server in Ihrer Umgebung.
  4. Installieren Sie Android x86 auf dem Emulator und führen Sie es aus.
  5. Drücken Sie Alt+ F1, Typ netcfg, erinnere mich an die IP - Adresse, drücken Sie Alt+ F7.
  6. Führen Sie cmd auf Ihrem Windows XP-System aus, ändern Sie das Verzeichnis in Ihr Android-Tools-Verzeichnis und geben Sie ein adb connect <virtual_machine_IP>.
  7. Starten Sie Eclipse, öffnen Sie das ADT-Plugin, finden Sie das Gerät und genießen Sie!
Pehat
quelle
6
Also habe ich mich verbunden. Wie kann ich den Bildschirm vertikal gestalten? Ich sehe auch nirgendwo die Hardware-Tasten des Telefons.
Alex
4
Nur um euch daran zu erinnern, dass ihr die Mausintegration im Gerätemenü aktivieren müsst, wenn ihr die Maus im Emulator verwenden wollt!
Kakopappa
13
Beachten Sie, dass ARM unter Android x86 nicht funktioniert, wenn Sie ARM-spezifische Elemente verwenden (z. B. Mono für Android).
Matthew Groves
11
Für mich zeigt netcfg lo 127.0.0.1 255.0.0.0 0x00000049 Ist hier 127.0.0.1 IP, die ich im Befehl adb erwähnen sollte? Es wird angezeigt, dass keine Verbindung zu 127.0.0.1:5555 hergestellt werden kann. Bitte helfen Sie.
Riz
318

UPDATE: Die neueste Version von Android Studio (2.x) hat den gebündelten Emulator erheblich verbessert. Es reagiert und verfügt über eine ganze Reihe von Funktionen.

Für diejenigen, die noch interessiert sind: Versuchen Sie es mit Genymotion . Sie können nach der Registrierung eine Version für Windows / Mac OS X / Linux herunterladen. Ein Plugin für Eclipse ist ebenfalls verfügbar:

Die Installation des Plugins kann durch Starten von Eclipse und Aufrufen des Menüs "Hilfe / Neue Software installieren" erfolgen. Fügen Sie dann einfach eine neue Update-Site mit der folgenden URL hinzu: http://plugins.genymotion.com/eclipse . Befolgen Sie die von Eclipse angegebenen Schritte.

Dieser Emulator ist schnell und reaktionsschnell.

Mit GenyMotion können Sie verschiedene Sensoren Ihres Geräts steuern, einschließlich Akkuladestand, Signalstärke und GPS. Die neueste Version enthält jetzt auch Kamera-Tools.

Blaffie
quelle
52
Genymotion ist bei weitem der beste Weg, um Ihre App zu entwickeln / zu testen. Es ist nicht nur schneller und besser als ein herkömmlicher Emulator. Es ist auch schneller als ein echtes Gerät. Ich verwende es für 99,99% meiner Bereitstellungen, da ich die Ergebnisse in einem Bruchteil der Zeit sehen kann. Es bedeutet auch, dass ich OpenGL ES und andere Dinge verwenden kann, die auf einem normalen Emulator nicht verfügbar sind.
Eurig Jones
2
Neuere Versionen von Genymotion enthalten keine GooglePlay-Dienste. Dieser Link zeigt, wie man sie manuell installiert: forum.xda-developers.com/showthread.php?t=2528952
Apfelsaft
2
Es ist in Ordnung, bis Sie die VBox oder eines der von ihnen verwendeten Tools neu installieren. Dann funktioniert es nicht mehr - Deinstallation hilft nicht. Aber es war gut, solange es dauerte.
Milosmns
5
Genymotion ist nicht mehr kostenlos (wie beim letzten Mal). Ich bin mir nicht sicher, ob dies immer noch die beste Wahl für Entwickler ist
Zain Ali
6
Seit Android Studio 2 wurde der Emulator um das Zehnfache verbessert. Es hat viele Funktionen und funktioniert gut.
Blaffie
213

Der in Ihrer (alten) Version von Eclipse enthaltene Emulator ist sehr langsam.

Aktuelle Emulatoren sind schneller als im Jahr 2010. Aktualisieren Sie Ihr SDK / IDE.

Persönlich benutze ich ein echtes Telefon, um meine Tests durchzuführen. Es ist schneller und Tests sind realistischer. Wenn Sie Ihre Anwendung jedoch auf vielen verschiedenen Android-Versionen testen und nicht mehrere Telefone kaufen möchten, müssen Sie von Zeit zu Zeit den Emulator verwenden.

Nicolas Raoul
quelle
1
VMware läuft mit unbemerkten Leistungsunterschieden im Vergleich zur realen Maschine. Selbst wenn der Emulator ARM emuliert, sollte er schneller sein, selbst auf derselben Systemfrequenz, und mein PC ist 3,6 GHz, was langsamer als ein 500-MHz-Android-Telefon ist.
NickSoft
@rds - Sollte mein AVD also Intel anstelle von ARM emulieren, damit es schneller geladen wird?
Trojan.ZBOT
Nein, dies ist nicht für x86 optimiert ... es emuliert x86-Telefonhardware - während das übliche Telefon heutzutage die fragliche Maschine leicht übertrifft :)
Martin Zeitler
Sie wissen, dass beide den gleichen Emulator ausführen, oder? android-sdk \ tools \ emulator-x86.exe, nichts mit Eclipse zu tun, Sie haben wahrscheinlich gerade erst begonnen, Intel x86-Images mit Intel HAXM zu verwenden.
Dan Dar3
Nun, verglichen mit der Geschwindigkeit, mit der sie früher blitzschnell unterwegs waren.
Bolling
138

Der Start des Emulators ist sehr langsam. Das Gute ist, dass Sie den Emulator nur einmal starten müssen. Wenn der Emulator bereits ausgeführt wird und Sie Ihre App erneut ausführen, installiert der Emulator die App relativ schnell neu. Wenn Sie wissen möchten, wie schnell es auf einem Telefon ausgeführt wird, testen Sie es am besten auf einem echten Telefon.

Jay Askren
quelle
40
Wenn es ein paar Stunden dauert, stimmt wahrscheinlich etwas anderes nicht. Es dauert nur ein paar Minuten für mich.
Jay Askren
Was ist Ihre Hardwarekonfiguration und Ihr Betriebssystem?
Junior Mayhé
@ Junior Mayhe: Ich habe für Android unter Windows, Mac und Linux programmiert. Ich benutze momentan am häufigsten den Mac. Die Computer, die ich verwendet habe, haben 2 bis 4 GB RAM und einen ziemlich modernen 2 bis 3 GHz-Prozessor. In allen Fällen scheint es einige Minuten zu dauern, bis der Emulator zuerst gestartet wird, aber die Neuinstallation der App ist ziemlich schnell.
Jay Askren
3
@ user286101: Das Laden einer neuen apk in einen bereits laufenden Emulator dauert in meinem alten Laptop (1,6 GHz Dual Core, 1 GB RAM) nicht länger als 10 Sekunden. Das einzige Problem ist, dass ich oft vergessen habe, den Emulator laufen zu lassen, sodass ich ihn durchlaufen musste der langsame Neustart (der 3-5 Minuten dauert).
Lie Ryan
@LieRyan "sollte nicht länger als 10 Sekunden dauern", das ist ungefähr die Zeit eines C ++ - Projekts mit ähnlicher Größe auf heutigen Maschinen.
kizzx2
129

Intel hat am 15. Mai 2012 empfohlene Installationsanweisungen für den ICS-Emulator veröffentlicht. Dies hat bei mir funktioniert. Der Emulator ist jetzt schnell und die Benutzeroberfläche ist flüssig.

Die erste Hälfte der Anweisungen ist detailliert genug, daher gehe ich davon aus, dass Sie die Intel x86 Atom System-Images mit dem Android SDK-Manager sowie Intel HAXM installieren konnten.

Um nun sicherzustellen, dass alles andere so eingerichtet ist, dass Sie einen leistungsstarken Emulator genießen können:

Und fang an:

sudo kextload -b com.intel.kext.intelhaxm (mac)

Wenn HAXM ordnungsgemäß funktioniert, wird beim Starten des Emulators möglicherweise die folgende Meldung angezeigt:

HAX funktioniert und der Emulator läuft im schnellen virtuellen Modus

Andernfalls wird möglicherweise der folgende Fehler angezeigt:

HAX funktioniert nicht und der Emulator wird im Emulationsmodus-Emulator ausgeführt:
Das hax-Modul konnte nicht geöffnet werden

  • Verwenden Sie die GPU-Emulation. Sie können die Snapshot-Option derzeit nicht verwenden, wenn Sie die GPU-Emulation verwenden. Stellen Sie sicher, dass die GPU-Emulation auf "Ja" eingestellt ist.

  • Stellen Sie den Gerätespeicher auf 1024 MB oder mehr ein , jedoch nicht mehr als die Intel HAXM-Einstellung. Ich verwende 1024 MB pro Gerät und 2048 für HAXM.

Überprüfen Sie die Einstellungen nach dem Speichern immer noch einmal! Der Emulator ist sehr wählerisch in Bezug auf das, was Sie einstellen können, und er wird Konfigurationen zurücksetzen, ohne es Ihnen mitzuteilen.

Mit diesen Einstellungen wird weder die Softwaretastatur noch die Bildschirmrückseite, das Menü und die zuletzt verwendeten Tasten angezeigt. Dies scheint eine Einschränkung des aktuellen ICS Intel x86-Systemabbilds zu sein. Sie müssen die Tastaturkürzel verwenden .

Unter Mac OS müssen Sie fn+ gedrückt halten, controldamit die Tasten F1- F12funktionieren. Bild auf / ab / links / rechts kann mit Strg + Pfeiltasten ausgeführt werden.

James Wald
quelle
Seien Sie vorsichtig, wenn Sie eine virtuelle Maschine mit Intel HAXM verwenden. Anscheinend kann die virtuelle Umgebung beschädigt werden, wenn der Systemspeicher erschöpft ist.
James Wald
android-dev.ro/web/guest/home Dies ist eine weitere gute Schritt-für-Schritt-Anleitung zum Einrichten einer HAXM x86-AVD in Eclipse. Außerdem wird erläutert, wie Sie Google APIs einrichten.
Sulai
2
Ich bin mir nicht sicher, ob ich etwas falsch mache, aber ich habe die Anleitung genau befolgt und festgestellt: "HAX funktioniert und der Emulator läuft im schnellen virtuellen Modus", kurz bevor das Gerät gestartet wurde, aber ... es wird sogar noch langsamer als die ursprüngliche Armversion geladen . Ich bin auf Mac und CPU unterstützt VT.
Jayarjo
4
Dies ist die richtige Antwort. Ich habe einen Intel x86-Prozessor installiert und die GPU aktiviert. Der Emulator reagiert mit diesen Einstellungen sehr schnell und flüssig. SCHLIESSLICH ! Wenn Sie Hilfe beim Einrichten unter Windows oder Mac benötigen, lassen Sie es mich wissen. Adios alle
Tony
2
Vielen Dank dafür, getestet unter Windows 7 Pro, Intel Core i7 3770 und es funktioniert. Unter Windows muss nur Intel Hardware Accelerated Execution Manager (HAXM) installiert werden, es wird automatisch gestartet. Erstellen Sie einfach eine AVD mit Intel Atom x86 und stellen Sie sicher, dass "Host-GPU verwenden" ausgewählt ist
Gerrytan
111

Sie können emulator.bat mit dem folgenden Befehl erstellen, um den Emulator zu starten. Es wird schneller beginnen.

emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>

Oder unter Unix (Mac- oder Linux-Versionen):

emulator -cpu-delay 0 -no-boot-anim @<avd name>
andgps
quelle
Durch Hinzufügen wurde -no-boot-animdie Startzeit um rund 38% reduziert. Vielen Dank!
Timothy003
3
(Android Studio) Wählen Sie Ausführen> Konfigurationen bearbeiten ... . Wählen Sie im linken Bereich des Dialogfelds Konfigurationen ausführen / debuggen eine Konfiguration aus oder erstellen Sie sie. Unter Device Target Optionen wählen AVD. In Emulator Registerkarte, geben Sie -no-boot-animin Zusätzliche Kommandozeilenoptionen Feld
Ivan Chau
103

Ich habe festgestellt, dass der Emulator viel schneller startet, wenn kein Dalvik Debug Monitor Server (DDMS) angeschlossen ist. Wenn Sie den Emulator über den Virtual Device Manager "SDK Setup.exe" starten und Eclipse nicht gestartet wird, arbeitet der Emulator schneller.

Wenn Sie den Emulator von Eclipse aus starten: DDMS ist vorhanden, daher ist der Emulator manchmal extrem langsam, manchmal aber auch schneller.

Peter Mortensen
quelle
2
@ Shekhar: DDMS = Dalvik Debug Monitor Server
Lie Ryan
Wenn wir den Emulator über die Cordova-Befehlszeile von Git Bash ausführen ... wie kann man den Dalvik Debug Monivor Server trotzdem deaktivieren?
Gumuruh
61

Emulatoren sind langsam. Sie können wirklich nichts dagegen tun, aber es gibt Alternativen zum Emulator.

  1. Genymotion - bevorzugt

  2. VirtualBox

  3. BlueStacks

  4. Du winkst

  5. Windows Android Emulator

  6. Glas Bohnen

  7. Andy

Um Ihren Emulator schneller zu machen, können Sie eine GPU hosten und eine leichtere Android-Version ( Android 2.3 (Gingerbread)) verwenden. Die Entwicklung auf einem Mac wäre besser. Warum einen Emulator verwenden, übrigens? Die Verwendung eines echten Telefons ist sinnvoller.

JRE.exe
quelle
Ich habe Genymotion verwendet und ich muss sagen, dass es vergleichsweise schnell ist als der Standard-Android-Emulator.
Anurag
"Warum einen Emulator verwenden, übrigens? Die Verwendung eines echten Telefons ist sinnvoller." Ich bin auf der Arbeit und wir haben nicht genug Telefone, um herumzugehen. Ich bin kein Tester, daher bekomme ich keine Priorität.
Almo
Der Emulator ist nicht langsam, aber Ihre Maschine. x86-Bilder vorgeschlagen.
Martin Zeitler
@Almo, Echte Telefone sind eine gute Wahl, aber der Emulator bietet Ihnen Platz, um Ihre App auf verschiedenen Bildschirmen mit den meisten Designs von Android Version + kompatibel zu machen. Auf diese Weise können Sie Ihre App mit weniger Fehlern ausführen, bevor sie getestet wird mit echten Telefonen. Ich persönlich habe gesehen, dass einige der Designprobleme leicht behoben werden können, indem sie in den verschiedenen Emulatoren überprüft werden ... Nicht alle können es sich leisten, mindestens 1 Telefon mit unterschiedlichen
Betriebssystemen
50

Ab Version 17 der Android SDK-Tools kann der Emulator Grafikbeschleunigung und von der CPU bereitgestellte Erweiterungen verwenden, um die Effizienz zu verbessern. Die Voraussetzungen sowie die vollständigen Konfigurations- und Benutzerhinweise finden Sie unter:

http://developer.android.com/guide/developing/devices/emulator.html#acceleration

Führen Sie zum Aktivieren der GPU- Beschleunigung den Emulator über die Befehlszeile aus oder fügen Sie "-gpu on" zu den zusätzlichen Emulator-Befehlszeilenoptionen in der AVD-Konfiguration hinzu.

emulator -avd <avd_name> -gpu on

Um die CPU-Computererweiterungen verwenden zu können, müssen Sie den Treiber installieren (Vorsicht, da dies zu Konflikten mit vorhandenen VirtualBox- oder VMware- Treibern führen kann). Sobald es installiert ist, wird es automatisch verwendet, wenn Sie eine x86-basierte AVD verwenden.

Jokin
quelle
Ich habe das gerade selbst entdeckt. Lässt den Emulator fast so gut laufen wie ein echtes Gerät!
Gak
Beachten Sie, dass Sie zur Verwendung der GPU-Beschleunigung Android 4.0 oder höher verwenden müssen. Außerdem können Sie mit den aktuellen Tools nicht beide Schnappschüsse und die GPU-Beschleunigung gleichzeitig verwenden. Sie müssen sich entscheiden (ich persönlich bevorzuge die GPU-Beschleunigung und den langsamen Emulatorstart).
Mai
46

Versuchen Sie, Ihr Antivirenprogramm zu deaktivieren. Vielleicht macht es den Emulator ein bisschen schneller.

Fedor
quelle
7
Ich fand das auch richtig - ich habe AVG Free entfernt und MS Security Essentials installiert, und der Emulator startet merklich schneller. YMMV.
Guy Starbuck
4
es ist immer noch super träge auf Linux-Systemen ... die offensichtlich normalerweise nicht av
alex.pilon
3
Ich habe kein Antivirus.
Robin Maben
Mein Emulator ist unter Linux ohne AV so langsam, dass er nur ein schwarzes Fenster öffnet und hängt. Mein anderer Computer mit Windows unterstützt vt-x nicht und funktioniert daher nicht.
Suici Doga
Versuchen Sie, Ihren Computer neu zu starten. Vielleicht wird der Emulator dadurch etwas schneller.
vk.edward.li
44

Android SDK rev. 17 unterstützt die Beschleunigung virtueller Maschinen mithilfe von AMD- und Intel-Virtualisierungstechnologien.

Diese Funktion kann die Emulatorleistung erheblich verbessern!

Weitere Informationen finden Sie im folgenden Abschnitt in der Dokumentation zum Android-Emulator: Konfigurieren der Beschleunigung virtueller Maschinen

Vergessen Sie nicht, den entsprechenden Treiber für Ihr Betriebssystem zu installieren:

Nachdem Sie die Treiber installiert und ein Android X86-System-Image heruntergeladen haben (wie in der Dokumentation beschrieben), sollten Sie in der Lage sein, mit dem x86-Image eine neue AVD zu erstellen:

Zum Beispiel:

  • Ziel: Intel Atom x86-Systemabbild - API-Stufe 10
  • CPU / ABI: Intel Atom (x86)
micha
quelle
Leider wird AMD-V derzeit nur unter Linux unterstützt (SDK Version 17).
Amir Ali Akbari
Intel HAXM hat meine x86 AVD 200% ~ 300% schneller gemacht als zuvor! Großartig!
Lcsky
40

Die Option -cpu-delay <delay>beschrieben in Emulator - Startoptionen kann helfen.

Peter Mortensen
quelle
1
Der Link führt jetzt nirgendwo hin. Ist das noch relevant?
Andrew S
40

Der Emulator scheint sich im Leerlauf zu verlangsamen. Dies wird deutlich, indem Sie schnell mit der Maus über die seitlichen Tasten fahren und die Leuchtreaktionen beobachten. Zur Umgehung des Problems gebe ich -icount autozu QEMU , wenn Sie den Emulator starten. Sie können eine Batch-Datei erstellen, die aufgerufen wird my_avd.bat, um dies für Sie zu tun:

Emulator @my_avd -no-boot-anim -qemu -icount auto
  • @my_avd - Starten Sie ein virtuelles Gerät mit dem Namen 'my_avd'.
  • -no-boot-anim - Deaktivieren Sie die Animation für einen schnelleren Start
  • -qemu args... - Argumente an qemu übergeben
  • -icount [N|auto] - Aktivieren Sie den virtuellen Befehlszähler mit 2 ^ N Takt-Ticks pro Befehl

Dies machte Animationen butterweich und beschleunigte sich um das adb installZehnfache.

Timothy003
quelle
Warum macht icount auto es schneller?
Pacerier
Vielen Dank. -no-boot-anim scheint Android schneller zu booten!
Ajay
Beeindruckend ... Insbesondere war ich mit einer sehr niedrigen Übertragungsgeschwindigkeit von 'adb' festgefahren. Jetzt ist es wirklich schnell, genauso schnell wie das x86-Bild. Vielen Dank
Mohsen Afshin
Ich benutze Eclipse. Wissen Sie, wie Sie diese Optionen in meiner Umgebung einrichten?
kta
1
@MSS Ich habe keine Ahnung ... Es ist Jahre her, seit ich den Android-Emulator verwendet habe. Es tut uns leid!
Timothy003
34

Android Emulator Release 9 verfügt über eine neue "Snapshot" -Funktion. Sie können den Status des Emulators speichern (ein Image des Emulators erstellen) und ein Booten vermeiden, wenn Sie den Emulator starten.

androidev Alex
quelle
34

Sie können die Emulatorprobleme in der Diskussion zu Google I / O 2011: Android-Entwicklungstools ab 0:40:20 überprüfen.

Der Emulator wird langsam ausgeführt, da die gesamte Android-Umgebung auf emulierter Hardware ausgeführt wird und die Anweisungen auch auf einem emulierten ARM-Prozessor ausgeführt werden.

Der Hauptdrosselpunkt ist das Rendern, da es nicht auf dedizierter Hardware ausgeführt wird, sondern tatsächlich durch Software-Rendering ausgeführt wird. Durch Verringern der Bildschirmgröße wird die Emulatorleistung drastisch verbessert. Mehr / schneller Speicher zu bekommen, wird nicht helfen.

Sie haben zu der Zeit erwähnt, dass sie eine Schnittstelle entwickeln, die es dem Emulator ermöglicht, bestimmte Anweisungen durch die Host-Hardware zu leiten, sodass Sie schließlich die Emulatorleistung mit der rohen Leistung von Desktop-Hardware nutzen können.

Filip Dupanović
quelle
30

Die aktuelle Version (Mai 2011) des Emulators ist langsam, insbesondere mit Android 3.0 (Honeycomb), vor allem, weil der Emulator keine Hardware-GL unterstützt. Dies bedeutet, dass der GL-Code in Software (tatsächlich ARM-Software) übersetzt wird, die dann abgerufen wird in Software in QEMU emuliert . Das ist verrückt langsam. Sie arbeiten an diesem Problem und haben es teilweise gelöst, aber nicht mit irgendeiner Release-Qualität.

Schauen Sie sich das Video Google I / O 2011: Android-Entwicklungstools an, um es in Aktion zu sehen - springen Sie auf ungefähr 44 Minuten.

Peter Mortensen
quelle
Bedeutet dies, dass wir beim Kauf des neuesten Raspberry Pi mit ARM-Prozessor den Android ARM-Emulator verwenden können, ohne dass ARM unter x86 / x86_64 langsam emuliert werden muss? Ist die neueste Raspberry Pi-CPU und GPU gut genug, um einen schnellen Emulator zu haben? Bietet Google eine ARM-Version von Android SDK-Tools an, um einen ARM-Emulator zu verwenden?
Taufe
30

Verwenden Sie den Intel x86 Emulator Accelerator

Installieren Sie zunächst den Intel x86 Emulator Accelerator (HAXM). Dies kann direkt von Intel oder mit Android SDK Manager heruntergeladen werden. Im SDK-Manager befindet es sich unter Extras.

SDK Manager Screenshot

In der von mir verwendeten Version von Android Studio (0.8.9) lädt Android SDK Manager HAXM herunter, führt jedoch das Installationsprogramm nicht aus (ich gehe davon aus, dass dies in späteren Versionen behoben wird). Um das Installationsprogramm auszuführen, musste ich zu C: \ Programme (x86) \ Android \ android-studio \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager gehen und intelhaxm.exe manuell starten.

HAXM funktioniert mit Intel-Geräten, daher wurde ein neuer Emulator mit Intel-CPU erstellt.

Erstellen Sie eine neue AVD mit Intel Atom x86

Dies verbesserte die Dinge erheblich, aber der Emulator fühlte sich immer noch etwas träge an. Der letzte Schritt war die Auswahl von Host-GPU im Android Virtual Device Manager (AVD) verwenden.

Screenshot zum Erstellen von AVD-Optionen

Nach diesen Änderungen wurde Android Emulator in 5-10 Sekunden gestartet und ohne merkliche Verzögerung ausgeführt. Beachten Sie, dass diese Funktionen hardwareabhängig sind (CPU / GPU) und auf einigen Systemen möglicherweise nicht funktionieren.

Amin Rahkan
quelle
Host-GPU verwenden ist der Schlüssel! Dank fragte sich, warum ich in einer Maschine eine schnelle Emu hatte und in einer anderen nicht
Keoz
Sie sollten die Virtualisierung im BIOS aktivieren. Wenn Sie einen AMD-Prozessor hatten, aktivieren Sie Vt-x
Anu Martin
Beachten Sie, dass dieses HAXM nur für Windows benötigt wird (und verfügbar ist), nicht für Linux.
Suther
28

Eine neue Option ist der Visual Studio Emulator für Android - er ist schnell, Hyper-V , x86 und kann auch ohne VS kostenlos heruntergeladen werden .

John Kemnetz
quelle
Ist es nur für Windows?
Robert
Ja, es wird Hyper-V verwendet, das nur unter Windows verfügbar ist.
John Kemnetz
Ich stimme der Behauptung zu - der beste Emulator auf dem Planeten. Ich bin Zeuge, nachdem ich einige Jahre unter anderen Emulatoren gelitten habe. Es ist so viel besser als andere, besonders wenn es um das Debuggen geht. Genymotion ist nicht schlecht, erfordert jedoch VirtualBox, die mit Hyper-V in Konflikt steht. Diese Antwort muss nach oben gehen.
Hong
2
@ JohnKemnetz darf ich nur unter Windows Professional oder höher hinzufügen.
Ein Ohrwurm
28

Probieren Sie Genymotion für Android Studio aus. Blitzschnell! Benötigt nur eine einmalige Installation. Keine AVD-Schmerzen mehr.

Vipul J.
quelle
27

Um weitere Informationen hinzuzufügen.

Ich habe kürzlich meine Ubuntu-Installation auf Ubuntu 10.04 LTS (Lucid Lynx) aktualisiert, wodurch meine Java-Version aktualisiert wurde auf:

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

Und jetzt scheint der Emulator (obwohl es eine Weile dauert, bis er startet) schneller zu laufen als zuvor.

Es könnte sich lohnen, die JVM zu aktualisieren.

Eggsy84
quelle
64-Bit-Java ist schneller (~ 2-mal) als 32-Bit-Java auf demselben Computer.
Mostowski Zusammenbruch
15
Ich kann nicht verstehen, warum die Emulatorgeschwindigkeit von der Java-Version abhängen sollte. Der Emulator ist nicht in Java geschrieben und läuft nicht auf der JVM.
Lena Schimmel
Ich verwende 64-Bit-Oracle Java 1.6.0_26 und mein Emulator ist langsamer als eine Schildkröte ... es ist schmerzhaft. Core2Quad, 64-Bit Java + Ubuntu 11.10, 8 GB RAM.
Djangofan
Wenn es nicht in Java geschrieben ist und nicht auf der JVM ausgeführt wird, warum benötigt es dann Java (und auch keine Java-Version!)
Rolf
25

Folgendes ist mir aufgefallen, dass niemand es erwähnt hat.

Weisen Sie dem Emulator alle verfügbaren Prozessoren zu

Hier ist, was Sie versuchen können. Es beschleunigt den Emulator für mich, besonders während der Ladezeit. Mir ist aufgefallen, dass der Emulator nur einen einzigen Kern der verfügbaren CPU verwendet. Ich habe es so eingestellt, dass alle verfügbaren Prozessoren verwendet werden.

Ich benutze Windows 7.

Wenn der Android-Emulator gestartet wird, öffnen Sie den Task-Manager, suchen Sie auf der Registerkarte "Prozess" nach "emulator-arm.exe" oder "emulator-arm.exe * 32" ... Klicken Sie mit der rechten Maustaste darauf, wählen Sie "Prozessoraffinität" und Weisen Sie dem Emulator so viel Prozessor zu, wie Sie möchten.

Geben Sie hier die Bildbeschreibung ein

Harvey Darvey
quelle
3
Dies beschleunigte die Dinge auf meinem Windows 7-Computer ziemlich
Rocco The Taco
Wie geht das unter Windows 8?
Eng.Fouad
Ich nehme an, Sie könnten den Windows 8-Task-Manager verwenden, um dasselbe zu tun. Entschuldigung, ich habe momentan kein Windows 8.
Harvey Darvey
2
Unter Windows 10 und auch unter Windows 8 müssen Sie dazu auf die DetailsRegisterkarte in Task Managergehen. In meinem Fall wurden jedoch bereits alle 4 Kerne ausgewählt. Ich wünschte, sie würden AMD-Geräten erlauben, auch die x86-Images auszuführen, auch ohne den HAXM-Treiber sollten sie schneller sein als die ARM-Images.
A. Grandt
20

Nachdem ich mich eine Weile entwickelt hatte, wurde mein Emulator brutal langsam. Ich habe mich für das Löschen von Benutzerdaten entschieden und es war viel viel besser. Ich vermute, dass das Laden jeder von Ihnen bereitgestellten APK- Datei einige Zeit in Anspruch nimmt .

Peter Mortensen
quelle
20

Android Emulator ist absolut langsam. Während des Betriebs werden 800 MB Speicher benötigt. Wenn Sie unter Windows arbeiten, können Sie den Microsoft Android Emulator verwenden. Es ist hervorragend und bietet Ihnen mehr Funktionen als Android Studio Emulator. Und am wichtigsten ist, dass es schnell ist (verbraucht nur 13 MB). Es wird mit der technischen Vorschau von Visual Studio 2015 geliefert. Ich benutze es und bin zufrieden damit. Ich habe das gesamte VS-Paket heruntergeladen und installiert. Ich muss prüfen, wie wir nur VS Emulator installieren können.

Visual Studio Emulator für Android

BEARBEITEN: Versuchen Sie https://www.visualstudio.com/vs/msft-android-emulator/

Anil8753
quelle
Wie berechnest du Kerl? Es ist ein Betriebssystem und benötigt viel RAM, um ausgeführt zu werden. und 13 Mb Es ist wirklich dumm, bitte schauen Sie noch einmal.
MSS
@MSS Ich kenne die Hintergrundgeschichte von VS Emulator nicht, aber ich habe es praktisch gemacht und gefunden, was ich gesagt habe.
Anil8753
Vielleicht haben Sie einen Fehler gemacht Ich meinte, es ist unmöglich, ein echtes Android-Betriebssystem in einem so kleinen Stück RAM zu emulieren, und der VS-Emulator muss eine einfache Debugging-Umgebung für C # -gefertigte Anwendungen sein und wahrscheinlich keine Standard-Android-Anwendung ausführen.
MSS
Ja, ich bin mir nicht sicher, ob es sich um eine echte vollständige Android-Emulation oder nur um eine leichte Emulation mit grundlegenden Android-Funktionen handelt. Bitte lassen Sie es versuchen. Führen Sie diesen Emulator zuerst aus und stellen Sie später Ihre Android Studio-App bereit.
Anil8753
Ich entwickle Android App mit Android Studio und stelle es ähnlich wie andere ADB-Geräte bereit.
Probieren Sie es
20

Nun, da jemand Android x86 als alternativen Testemulator vorgeschlagen hat, werde ich auch meinen Favoriten vorstellen. Dies ist vielleicht nicht für jeden eine Alternative, aber für mich ist es perfekt!

Verwenden Sie den Bluestacks Player . Es läuft mit Android 2.3.4 und ist sehr flüssig und schnell. Manchmal ist es sogar schneller als ein normales Gerät. Der einzige Nachteil ist, dass Sie Apps nur auf der API-Ebene 10 und nur auf einer Bildschirmgröße testen können, aber es ist perfekt, um zu testen, ob es funktioniert oder nicht. Verbinden Sie einfach den Player mit dem, adbindem Sie ausführen

adb connect 127.0.0.1 

Nach dem Kompilieren wird es sofort installiert. Es ist sehr beeindruckend, wenn man bedenkt, dass ich eher eine durchschnittliche Computerhardware habe (Dual Core mit 4 GB RAM).

Ahmad
quelle
Es ist wirklich sehr schnell! Wie kann ich es für Anforderungen wie 7 '(800x480) Tablet ändern? Ich habe versucht, die App-Größe zu ändern, aber es ist bereits ein Tablet.
Nesimtunc
Ich denke du meintest "flüssig und schnell" :) Wie auch immer, danke. Netter Tipp, schade, es läuft Android 2.2
Rolf
2
@Rolf Oh richtig, haha ​​:) Diese Antwort ist jedoch alt. Sie sollten Genymotion ausprobieren. Es ist viel besser.
Ahmad
19

Ich hatte intermittierende Ladezeiten für langsame Emulatoren (SDK v8.0) von bis zu drei Minuten auf einer Intel Core i7 920 2,67-GHz-CPU, die auf einem Xubuntu 10.04 VirtualBox 3.2.12-Gast mit Eclipse (3.6.1) ausgeführt wurde. Ich habe den VirtualBox-Gastspeicher von 1024 MB auf 2048 MB geändert und von diesem Zeitpunkt an habe ich die Langsamkeit nie wieder festgestellt (Ladezeiten bei 33 Sekunden, CPU-Last bei 20%). Sowohl Eclipse als auch der Emulator sind Speicherfresser.

Stuart Rackham
quelle
16

Ich habe festgestellt, dass mein Emulator ( Eclipse- Plugin) durch die Anti-Aliasing-Einstellungen meiner Nvidia- Grafikkarte erheblich verlangsamt wurde . Durch Entfernen von 2x Anti-Aliasing aus dem Grafikmenü und Ändern in anwendungsgesteuert wurde die Reaktionsfähigkeit verbessert. Es ist immer noch langsam, aber besser als früher.

Peter Mortensen
quelle
16

Um die Startzeit Ihres Emulators zu verkürzen, müssen Sie vor dem Starten des Emulators die Option "Boot-Animation deaktivieren" aktivieren. Weitere Informationen finden Sie in der Android-Dokumentation .

Wenn Sie es nicht wissen, müssen Sie den Emulator nicht jedes Mal schließen, wenn Sie Ihre App ausführen / debuggen. Wenn Sie auf "Ausführen / Debuggen" klicken, während es bereits geöffnet ist, wird Ihre APK-Datei in den Emulator hochgeladen und sofort gestartet. Der Emulator benötigt nur beim ersten Start ärgerlich viel Zeit.

Hier einige Tipps zur Beschleunigung des Android-Emulators: So beschleunigen Sie den Android-Emulator um bis zu 400% .

Vinayak B.
quelle
15

Eine gute Möglichkeit, das Testen von Android Emulatoren und Apps zu beschleunigen, besteht darin, Ihr Android Studio auf die Android Studio 2.0- Version zu installieren oder zu aktualisieren. Gehen Sie dann zu App-geöffneten Einstellungen / Einstellungen und dann zu Erstellen, Ausführen, Bereitstellen → Sofortiges Ausführen. Klicken Sie auf Sofortausführung aktivieren. Und danach wird sichergestellt, dass Sie das richtige Gradle-Plugin für Ihr Projekt haben, um mit Instant Run arbeiten zu können. Geben Sie hier die Bildbeschreibung ein

Und Instant Run wird so aussehen Neue Run & Stop-Aktionen in Android Studio für die sofortige Ausführung

Allerdings ist Android Studio gerade in der Vorschau, Sie können es jetzt versuchen.

Umar
quelle
1
Android Studio 2.0 ist jetzt stabil. Sofortiger Lauf erhöht die Build-Geschwindigkeit, nicht die Emulator-Geschwindigkeit. Weitere Informationen finden Sie unter: < android-developers.blogspot.lt/2016/04/android-studio-2-0.html >
Arūnas Bedžinskas
Der neue Emulator läuft ~ 3x schneller als der vorherige Emulator von Android. Jetzt können Sie Apps und Daten 10x schneller auf den Emulator übertragen als auf ein physisches Gerät. android-developers.blogspot.ae
Umer
1
Beachten Sie, dass bei der Verwendung von Instant Run bei der Installation auf Geräten <5.0 einige Probleme auftreten. Wenn Sie feststellen, dass Ihre App auf Geräten von Kitkat und darunter abstürzt, deaktivieren Sie die sofortige Ausführung und erstellen Sie sie neu. Sie sollten gut zu gehen sein ..
Vamsi Challa