Pytanie Dlaczego emulator Androida jest tak wolny? Jak możemy przyspieszyć emulator Androida? [Zamknięte]


mam 2,67Procesor Celeron GHz, i 1.21GB pamięci RAM na x86 Windows XP Profesjonalna maszyna.

Rozumiem, że Emulator Androida powinien wystartować dość szybko na takiej maszynie, ale dla mnie tak nie jest. Przestrzegałem wszystkich instrukcji dotyczących konfigurowania IDE, SDK, JDK i innych, i udało mi się szybko uruchomić emulator, ale jest to bardzo rzadkie. Jak mogę, jeśli to możliwe, rozwiązać ten problem?

Nawet jeśli zaczyna się i ładuje ekran główny, jest bardzo powolny. Próbowałem Eclipse IDE w wersja 3.5 (Galileo) i 3.4 (Ganymede).


3093


pochodzenie


Alternatywą jest Genymotion. genymotion.com. Jest to o wiele gorsze. Prosta instalacja. - Sukitha Udugamasooriya
Znalazłem emulator, aby uruchomić (i mam na myśli waaaay) szybciej na Linuksie. Mam laptopa z dualbootem, na windows emulator trwa około 15 minut, aby rozpocząć, z linuxem około 30 sekund. Nie wiem o innych systemach operacyjnych, takich jak OSX, ale wydaje mi się, że to coś z Windowsa. - Daniël van den Berg
Zgłoszono, że Android Studio 2.0 ma nie tylko znacznie szybszy emulator, ale stosuje "natychmiastowy przebieg", co pozwala na wdrożenie pewnych zmian w źródle, takich jak XML, w ciągu kilku sekund do celu, bez konieczności ponownego tworzenia pakietu APK i ponownie wdrożone. Widzieć android-developers.blogspot.co.uk/2015/11/... - Carl Whalley
Wypróbuj naszą nowo wydaną wirtualną maszynę Android, o nazwie Leapdroid, która jest całkowicie darmowa i zgodna z emulatorem opartym na QEMU Google, z bardzo szybkim impulsem OpenGL. leapdroid.com - huisinro
Myślę, że twój ram jest bardzo mały, aby emulator działał szybciej. - Zia U Rahman


Odpowiedzi:


Aktualizacja

Możesz teraz włączyć opcję Szybkie uruchamianie dla emulatora Androida. To pozwoli zaoszczędzić stan emulatora i szybko uruchomi emulator przy następnym uruchomieniu.

Kliknij przycisk edycji Emulator, a następnie kliknij Pokaż zaawansowane ustawienia. Następnie włącz Quick Boot jak poniżej zrzut ekranu.

Quick boot

Narzędzia programistyczne do systemu Android (ADT) 9.0.0 (lub nowszy) ma funkcję, która pozwala ci zapisać stan AVD (emulatora) i możesz natychmiast uruchomić swój emulator. Musisz włączyć tę funkcję podczas tworzenia nowego AVD lub możesz po prostu utworzyć ją później, edytując AVD.

Również zwiększyłem Device RAM Size do 1024 co skutkuje bardzo szybkim emulatorem.

Zapoznaj się z podanymi poniżej zrzutami ekranu, aby uzyskać więcej informacji.

Tworzenie nowego AVD z funkcją zapisywania migawek.

Android emulator with save snapshot feature.

Uruchamianie emulatora z migawki.

Launching the emulator from the snapshot.

A do przyspieszenia emulatora możesz odwołać się Przyspiesz swój emulator Androida!:


1318



Po zaktualizowaniu i istniejącym urządzeniu wyczyść dane użytkownika podczas pierwszego uruchomienia z migawki - Mark Bakker
Ustawiłem AVD w ten sposób, ale wydaje mi się, że wciąż wolno, kiedy ponownie uruchamiam AVD, dlaczego? - zhongshu
@Peter Ehrlich: Po prostu przejdź do Okno> Android SDK i AVD Manager i wybierz AVD, który chcesz uruchomić z listy, a następnie kliknij Początek w prawym okienku. Otworzy to samo, co chcesz. - Vikas Patidar
Podczas ustawiania 1024 otrzymałem komunikat "Nie udało się przydzielić pamięci". Pojawiło się również ostrzeżenie u dołu okna konfiguracji, mówiąc: "W systemie Windows emulacja RAM większa niż 768M może się nie powieść ..." Próbowałem ustawić go na 770, i to zadziałało. Nie udało się ustawić go na 800. - awe
@ Msmit1993: Możesz używać emulatora Intel x86 z narzędziem HAX. Uwierz mi, że zdziwisz się, że emulator jest szybszy od twojego prawdziwego urządzenia. - Vikas Patidar


WAŻNA UWAGA: Proszę pierwszy odnosić się do lista Intel o VT aby upewnić się, że twój procesor obsługuje Intel VT.

HAXM przyspiesza zwolnienie emulatora Androida

HAXM oznacza - "Intel Hardware Accelerated Execution Manager"

Obecnie obsługuje tylko Intel VT (Intel Virtualization Technology).

Emulator Androida jest oparty na QEMU. Interfejs między QEMU a sterownikiem HAXM w systemie hosta został zaprojektowany jako niezależny od dostawcy.

HAXM

Kroki konfigurowania środowiska programistycznego Android dla HAXM

  1. Zaktualizuj środowisko Eclipse: Upewnij się, że instalacja Eclipse i wtyczka ADT są w pełni aktualne.

  2. Zaktualizuj swoje narzędzia Android: Po każdej aktualizacji wtyczki Eclipse należy zaktualizować narzędzia Android SDK Tools. Aby to zrobić, uruchom Menedżera SDK systemu Android i zaktualizuj wszystkie składniki zestawu SDK systemu Android. Aby skorzystać z HAXM, musisz być na przynajmniej wersji 17.

Enter image description here

  • Pobierz x86 Obrazy systemu atomowego i Sterownik Intel Hardware Accelerated Execution Manager. Postępuj zgodnie z poniższym obrazkiem:

Enter image description here

  • Zainstaluj sterownik HAXM, uruchamiając "IntelHaxm.exe". Będzie znajdować się w jednej z następujących lokalizacji:

    • 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

    Jeśli instalator nie powiedzie się z komunikatem, że Intel VT musi być włączony, musisz włączyć to w BIOS. Zobacz opis, jak to zrobić w Włączanie technologii Intel VT (technologia wirtualizacji) .

Install .exe or .dmg

  • Stwórz Nowy x86 AVD: Postępuj zgodnie z poniższym obrazkiem:

Create AVD

  • Lub jak dla nowego SDK, Enter image description here

1070



Dobry napis. Jeśli szukasz dokumentów od Google (zawiera kilka różnic dla Maca), możesz je znaleźć tutaj: developer.android.com/tools/devices/emulator.html#accel-vm - Todd Price
Nie działa w systemie Linux. - Kshitiz Sharma
Próbowałem tego rozwiązania. Zadziałało. Zainstalowałem jednak przy użyciu MonoDroid i nie mogłem znaleźć IntelHaxm.exe przez minutę. To było tutaj: C: \ Users \ jbarneck \ AppData \ Local \ Android \ android-sdk \ extras \ intel - Rhyous
Wow, nie potrafię ci wystarczająco podziękować! Nie mogę uwierzyć, że żyłem z powolnym emulatorem przez cały ten czas. Myślałem, że to normalne. Naprawdę brakuje mi czasu szybkiego startu, czy nie ma sposobu na włączenie migawki wraz z akceleracją GPU? - Reda
To działa świetnie. Dzięki za podzielenie się tym! Gdy włączona jest opcja "Użyj hosta GPU", emulator miga intensywnie, ale również bez hosta GPU, jest teraz naprawdę szybki. - user1619275


Próbować Android x86. Jest znacznie szybszy niż emulator Google Android. Wykonaj następujące kroki:

  1. zainstalować VirtualBox.
  2. Pobierz Plik ISO że potrzebujesz.
  3. Utwórz maszynę wirtualną jako Linux 2.6 / Other Linux, 512 MB RAM, HD 2 GB. Sieć: PCnet-Fast III, dołączony do NAT. Możesz także użyć zmostkowanego adaptera, ale potrzebujesz DHCP serwer w twoim środowisku.
  4. Zainstaluj Androida x86 na emulatorze, uruchom go.
  5. naciśnij Alt+F1, rodzaj netcfg, zapamiętaj adres IP, naciśnij Alt+F7.
  6. Uruchom polecenie cmd w systemie Windows XP, zmień katalog na katalog narzędzi Android, wpisz adb connect <virtual_machine_IP>.
  7. Uruchom Eclipse, otwórz wtyczkę ADT, znajdź urządzenie i ciesz się!

570



więc połączyłem się. Jak ustawić ekran w pionie? Poza tym nie widzę przycisków sprzętowych telefonu. - Alex
Widzieć groups.google.com/group/android-x86/browse_thread/thread/...i groups.google.com/group/android-x86/browse_thread/thread/... do zmiany rozdzielczości ekranu. - Gili
Aby przypomnieć wam, że chcecie użyć myszy w emulatorze, musicie włączyć integrację myszy w menu urządzenia! - kakopappa
Zwróć uwagę, że jeśli używasz czegoś, co jest specyficzne dla ARM (na przykład Mono dla Androida), nie będzie działać na systemie Android x86. - Matthew Groves
Dla mnie netcfg pokazuje lo 127.0.0.1 255.0.0.0 0x00000049 Czy tutaj 127.0.0.1 IP, które powinienem wspomnieć w poleceniu adb? pokazuje "nie można połączyć się z 127.0.0.1:5555" Proszę o pomoc. - Dev


AKTUALIZACJA: Najnowsza wersja studia Android (2.x) wprowadziła istotne ulepszenia do dołączonego emulatora. Jest responsywny i ma całą masę funkcji.

Dla tych, którzy wciąż są zainteresowani: Spróbuj użyć Genymotion. Po rejestracji możesz pobrać wersję dla systemu Windows / Mac OS X / Linux. Dostępna jest również wtyczka do Eclipse:

Instalacja wtyczki może zostać wykonana poprzez uruchomienie Eclipse i przejście do menu "Help / Install New Software", a następnie dodanie nowej witryny Update z następującym adresem URL: http://plugins.genymotion.com/eclipse. Postępuj zgodnie z instrukcjami wskazanymi przez Eclipse.

Ten emulator jest szybki i elastyczny.

GenyMotion pozwala kontrolować różne czujniki urządzenia, w tym poziom naładowania baterii, siłę sygnału i GPS. Najnowsza wersja zawiera teraz również narzędzia do kamer.


300



Genymotion to zdecydowanie najlepszy sposób na rozwinięcie / przetestowanie swojej aplikacji. Jest nie tylko szybszy i lepszy od tradycyjnego emulatora. Jest szybszy niż prawdziwe urządzenie. Używam go do 99,99% moich wdrożeń, ponieważ oznacza to, że widzę wyniki w ułamku sekundy. Oznacza to również, że mogę używać OpenGL ES i innych rzeczy, które nie są dostępne na normalnym emulatorze. - Eurig Jones
Nowsze wersje Genymotion nie obejmują Usług Google Play. Ten link pokazuje, jak zainstalować je ręcznie: forum.xda-developers.com/showthread.php?t=2528952 - Apfelsaft
Wszystko będzie dobrze, dopóki nie zainstalujesz VBoxa ani żadnego z narzędzi, których używają, po czym przestaje działać - odinstalowanie nie pomaga. Ale to był dobrze, dopóki to trwało. - milosmns
Genymotion nie jest już wolny (jak wtedy, gdy go użyłem po raz ostatni), Nie jestem pewien czy to nadal jest najlepszy wybór dla programistów - Zain Ali
Od Androida studio 2 emulator został ulepszony dziesięciokrotnie. Ma wiele funkcji i działa dobrze. - blaffie


Emulator zawarty w (starej) wersji Eclipse działa bardzo wolno.

Najnowsze emulatory są szybsze niż w 2010 roku. Zaktualizuj swój zestaw SDK / IDE.

Osobiście używam prawdziwego telefonu do moich testów. Jest szybszy, a testy bardziej realistyczne. Ale jeśli chcesz przetestować swoją aplikację na wielu różnych wersjach Androida i nie chcesz kupować kilku telefonów, będziesz musiał od czasu do czasu używać emulatora.


193



vmware uruchamia się z niezauważalną różnicą w wydajności w porównaniu do prawdziwej maszyny. Nawet jeśli emulator emuluje ARM, powinien być szybszy, nawet na tej samej częstotliwości systemu, a mój komputer ma 3,6 GHz, czyli wolniej niż 500 MHz telefon z Androidem. - NickSoft
@rds - Czy mój system AVD powinien emulować intel zamiast ARM, aby ładował się szybciej? - Trojan.ZBOT
nie, to nie jest zoptymalizowane dla x86 ... emuluje sprzęt telefoniczny x86 - podczas gdy popularny telefon w dzisiejszych czasach z łatwością przewyższa maszynę, o której mowa :) - Martin Zeitler
Czy zdajesz sobie sprawę, że oba działają z tym samym emulatorem? android-sdk \ tools \ emulator-x86.exe, nie ma nic wspólnego z Eclipse, prawdopodobnie zacząłeś już używać obrazów Intel x86 z Intel HAXM. - Dan Dar3
Cóż, w porównaniu do tego, jak powolne są teraz, kiedy wracają w dniach, w których pędzi się błyskawicznie. - Bolling


Uruchomienie emulatora jest bardzo powolne. Dobrą rzeczą jest to, że wystarczy uruchomić emulator tylko raz. Jeśli emulator już działa i uruchomisz ponownie aplikację, emulator ponownie zainstaluje aplikację stosunkowo szybko. Oczywiście, jeśli chcesz wiedzieć, jak szybko będzie działać na telefonie, najlepiej przetestować go na prawdziwym telefonie.


129



Jeśli zajmie to kilka godzin, prawdopodobnie coś innego jest nie tak. Zajmuje mi to tylko kilka minut. - Jay Askren
jaka jest twoja konfiguracja sprzętowa i system operacyjny? - Junior M
@Junior Mayhe: Programowałem dla Androida z systemem Windows, Mac i Linux. Używam Mac najczęściej w tej chwili. Komputery, z których korzystałem, mają od 2 do 4 gigabajtów pamięci RAM i dość nowoczesny procesor od 2 do 3 GHz. We wszystkich przypadkach pierwsze uruchomienie emulatora zajmuje kilka minut, ale ponowne zainstalowanie aplikacji jest dość szybkie. - Jay Askren
@ user286101: ładowanie nowego apka do już działającego emulatora zajmuje nie więcej niż 10 sekund w moim starym laptopie (1,6 GHz dual core, 1GB RAM), jedynym problemem jest to, że często zapomniałem zostawić uruchomiony emulator, więc musiałem przejść przez powolny proces ponownego uruchamiania (który trwa 3-5 minut). - Lie Ryan
@LieRyan "nie powinno trwać dłużej niż 10 sekund", niestety, chodzi o czas o podobnej wielkości C ++ projekt w dzisiejszych maszynach. - kizzx2


Intel wydany zalecane instrukcje instalacji emulatora ICS 15 maja 2012. To zadziałało dla mnie. Emulator jest teraz szybki, a interfejs jest gładki.

Pierwsza połowa instrukcji jest wystarczająco szczegółowa, więc zakładam, że udało ci się zainstalować obraz systemu Atom systemu Intel x86 przy użyciu menedżera Android SDK, a także Intel HAXM.

Teraz upewnij się, że wszystko inne jest skonfigurowane, abyś mógł cieszyć się wysoce wydajnym emulatorem:

I zacznij:

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

Jeśli HAXM działa poprawnie, możesz zobaczyć ten komunikat podczas uruchamiania emulatora:

HAX działa, a emulator działa w trybie szybkiego virt

W przeciwnym razie możesz zobaczyć ten błąd:

HAX nie działa, a emulator działa w emulatorze trybu emulacji:
  Nie można otworzyć modułu hax

  • Użyj emulacji GPU.  Nie można użyć opcji Migawka podczas korzystania z emulacji GPU od tego zapisu. Upewnij się, że emulacja GPU jest ustawiona na "tak".

  • Ustaw pamięć urządzenia na 1024 MB lub więcej, ale nie więcej niż ustawienie Intel HAXM. Używam 1024 MB na urządzenie i 2048 dla HAXM.

Zawsze podwójnie sprawdzaj ustawienia po zapisaniu!  Emulator jest bardzo wrażliwy na to, co pozwala ustawić, i przywróci konfiguracje bez informowania o tym.

Dzięki tym ustawieniom klawiatura oprogramowania nie jest już wyświetlana, nie pojawia się też menu ekranowe, menu i ostatnie klawisze. Wydaje się, że jest to ograniczenie obecnego obrazu systemu ICS Intel x86. Będziesz musiał użyć skróty klawiaturowe.

W systemie Mac OS musisz przytrzymać fn + kontrola dla F1 - F12 klucze do pracy. Page góra / dół / lewo / prawo mogą być wykonywane za pomocą klawiszy sterujących + strzałek.


118



Zachowaj ostrożność podczas korzystania z maszyny wirtualnej z Intel HAXM. Wygląda na to, że środowisko wirtualne może ulec uszkodzeniu, jeśli pamięć systemowa zostanie wyczerpana. - James Wald
android-dev.ro/web/guest/home  Jest to kolejna dobra instrukcja krok po kroku dla konfiguracji HAXM x86 AVD w Eclipse. Dodatkowo wyjaśnia, jak skonfigurować interfejsy API Google. - sulai
Nie jestem pewien, czy to ja robię coś nie tak, ale uważnie śledziłem przewodnik i otrzymałem: "HAX działa i emulator działa w trybie szybkim virt", tuż przed uruchomieniem urządzenia, ale ... w rzeczywistości ładuje się nawet wolniej niż oryginalna wersja ramienia . Jestem na Macu, a procesor obsługuje VT. - jayarjo
To jest odpowiednia odpowiedź. Mam procesor Intel x86 zainstalowany i mam włączone GPU. Emulator jest bardzo responsywny i gładki z tymi ustawieniami. WRESZCIE ! Jeśli potrzebujesz pomocy w konfiguracji systemu Windows lub Mac, daj mi znać. Adios all - Tony
Dzięki za to, przetestowany na Windows 7 Pro, Intel Core i7 3770 i to działa. W systemie Windows program Intel Hardware Accelerated Execution Manager (HAXM) musi zostać zainstalowany, a uruchomi się automatycznie. Po prostu stwórz AVD z Intel Atom x86 i upewnij się, że wybrano "użyj host GPU" - gerrytan


Możesz utworzyć plik emulator.bat, wykonując następujące polecenie, aby uruchomić emulator. Zacznie się szybciej.

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

Lub w systemie Unix (smaki Mac lub Linux):

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

102



Dodawanie -no-boot-anim skróciło czas uruchamiania o około 38%. Dzięki! - Timothy003
Jak korzystać z tego polecenia, pomóż mi! - vijay
(Android Studio) Wybierz Uruchom> Edytuj konfiguracje .... W lewym panelu z Okno dialogowe konfiguracji Uruchom / Debuguj, wybierz lub utwórz konfigurację. Pod Urządzenie docelowe opcje, wybierz AVD. W Emulator tab, wprowadź -no-boot-anim w Dodatkowe opcje linii poleceń pole - Ivan Chau


Zauważyłem, że emulator uruchamia się znacznie szybciej, jeśli nie ma podłączonego serwera Dalvik Debug Monitor Server (DDMS). Jeśli więc uruchomisz emulator z Menedżera urządzeń wirtualnych "SDK Setup.exe", a Eclipse nie zostanie uruchomiony, emulator działa szybciej.

Jeśli uruchomisz emulator z Eclipse: DDMS istnieje, więc czasami emulator jest bardzo powolny, ale czasami jest szybszy.


98



Jak rozwiązać problem? - SmallChess
@Shekhar: DDMS = Dalvik Debug Monitor Server - Lie Ryan
jeśli uruchamiamy emulator za pośrednictwem linii poleceń Cordova programu Git Bash ... w jaki sposób wyłączyć serwer Dalvik Debug Monivor? - gumuruh


Emulatory są wolne. Naprawdę nic nie możesz z tym zrobić, ale są alternatywy dla emulatora.

  1. Genymotion - preferowany

  2. VirtualBox

  3. BlueStacks

  4. YouWave

  5. Emulator systemu Windows

  6. Słoik fasoli

  7. Andy

Aby przyspieszyć działanie emulatora, możesz hostować GPU i używać lżejszej wersji Androida (Android 2.3 (Piernik)). Rozwijanie na Macu byłoby lepsze. Dlaczego warto korzystać z emulatora BTW? Korzystanie z prawdziwego telefonu ma więcej sensu.


55



Użyłem Genymotion, i muszę powiedzieć, że jest stosunkowo szybki niż domyślny emulator Androida. - Anurag
"Dlaczego warto używać emulatora, BTW? Używanie prawdziwego telefonu ma więcej sensu". Jestem w pracy i nie mamy wystarczająco dużo telefonów, żeby się obejść. Nie jestem testerem, więc nie traktuję ich priorytetowo. - Almo
emulator nie działa wolno, ale twoja maszyna. Sugerowane obrazy x86. - Martin Zeitler


Od wersji 17 narzędzia Android SDK Tools emulator może korzystać z przyspieszenia graficznego i rozszerzeń dostarczanych przez procesor dla lepszej wydajności. Wymagania wstępne i pełna konfiguracja oraz uwagi użytkownika znajdują się w:

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

Do włączania GPU aceleration, uruchom emulator z linii poleceń lub dodaj "-gpu on" do dodatkowych opcji wiersza poleceń emulatora w konfiguracji AVD.

emulator -avd <avd_name> -gpu on

Aby móc korzystać z rozszerzeń maszyn CPU, musisz zainstalować sterownik (uwaga, ponieważ może on być w konflikcie z istniejącym VirtualBoxlub VMware sterowniki). Po zainstalowaniu będzie on używany automatycznie przy każdym użyciu AVD z procesorem x86.


47



Właśnie to odkryłem. Sprawia, że ​​emulator działa prawie tak samo, jak prawdziwe urządzenie! - Gerald Kaszuba
Pamiętaj, że aby korzystać z akceleracji GPU, musisz korzystać z Androida 4.0 lub nowszego. Ponadto przy obecnych narzędziach nie można jednocześnie używać OBU migawek i akceleracji GPU, trzeba wybrać (ja osobiście wolę przyspieszenie GPU i start wolnego emulatora). - mav