Pytaniem jest
Otrzymuję komunikat „HAX nie działa, a emulator działa w trybie emulacji”. Czy jest to związane z instalacją Intel x86 Emulator Accelerator (HAXM) i uruchomieniem avd z procesorem ustawionym na procesor Intel Atom (x86)? I chociaż wydaje się, że AVD działa szybciej po zainstalowaniu HAXM, czy ten komunikat wskazuje, że wydajność AVD jest ograniczona. Czy należy to naprawić, a jeśli tak, to w jaki sposób?
Używam systemu Mac OS X 10.9.1.
Lista tego, co jest zainstalowane w moim systemie za pośrednictwem menedżera Android SDK:
- Przybory
- Narzędzia Android SDK w wersji 22.3.1
- Narzędzia platformy Android SDK w wersji 19.0.1
- Narzędzia do tworzenia zestawu SDK systemu Android w wersji 19.0.1
- Narzędzia do tworzenia zestawu SDK systemu Android w wersji 19
==
- Android 4.4.2 (API 19)
- Platforma SDK
- Obraz systemu ARM EABI v7a
- Obraz systemu Intel x86 Ato
- Interfejsy API Google
- Źródła dla Android SDK
==
- Dodatki
- Intel x86 Emulator Accelerator (HAXM) I RÓWNIEŻ uruchamiam również instalator dmg i instaluję poprawkę, gdy się o tym dowiedziałem.
Konfiguracja AVD
- Platforma 4.4.2
- Poziom API 19
- Procesor Intel Atom (x86)
Po uruchomieniu avd:
(ruby-2.0.0-p353) .android $ tools/emulator -avd 1AVD -wipe-data -no-boot-anim -cpu-delay 0
otrzymuję obserwację i emulator w końcu się ładuje
emulator: The memory needed by this VM exceeds the driver limit.
HAX is not working and emulator runs in emulation mode
android
macos
android-emulator
GnrlBzik
źródło
źródło
Odpowiedzi:
Tak, to powinno zostać naprawione, HAXM nie działa. Ile pamięci RAM jest ustawione do użytku w Twojej konfiguracji AVD?
768M to dobra liczba, ale co najważniejsze, liczba ta musi być mniejsza lub równa zużyciu pamięci ustawionemu podczas instalacji HAXM. Możesz ponownie uruchomić jego instalację, aby ją zmodyfikować.
źródło
sdk/extras/intel
folderze pakietu ADT. Umieszczenie kursora na wpisie HAXM w menedżerze AVD ujawni dokładną lokalizację.Jeśli korzystasz z komputera Mac, możesz zainstalować
haxm
za pomocą homebrew przez cask, który jest wbudowanym rozszerzeniem (od 2015 r.), Które umożliwia instalowanie aplikacji innych niż open source i aplikacji komputerowych (tj. Chrome, Firefox, Eclipse itp.):Android Studio
Jeśli korzystasz z Android Studio to ten sam rezultat możesz osiągnąć z menu Tools➞ SDK Manager, a następnie na karcie SDK Tools zaznacz pole wyboru Intel x86 Emulator Accelerator (instalator HAXM) i kliknij Ok.
źródło
Sposób, w jaki to rozwiązałem, to ustawienie limitu pamięci AVD i pamięci HAXM na równą wielkość, która wynosi 1 GB = 1024 MB. AVD nie może mieć wyższego limitu pamięci niż HAXM.
1. Ustawienie pamięci HAXM na 1024 MB
Jedynym sposobem zmiany pamięci HAXM jest ponowna instalacja. Zrobiłem to za pomocą terminala. Zlokalizuj Hardware_Accelerated_Execution_Manager na swoim komputerze. Następnie zmień katalog tego folderu, aby uruchomić skrypt instalacyjny.
Może zajść potrzeba zmiany uprawnień:
Następnie:
2. Ustawienie tego samego rozmiaru urządzenia wirtualnego z limitem pamięci HAXM
To działa dla mnie. Powodzenia!
źródło
$ sudo ./HAXM\ installation -m 2048
zainstaluj najnowszy HAXM firmy Intel: https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager
Po tym to działa
źródło
Dla Windowsa.
W
Android Studio
:Narzędzia > Android > AVD Manager > Twoje urządzenie > Ikona ołówka > Pokaż ustawienia zaawansowane > Pamięć i pamięć > RAM > Ustaw preferowany rozmiar pamięci RAM.
W
Control Panel
:Programy i funkcje > Intel Hardware Accelerated Execution Manager > Zmień > Ustaw ręcznie > Ustaw pamięć RAM na preferowany rozmiar.
Lepiej jest, aby rozmiary pamięci RAM ustawione w obu miejscach były takie same.
źródło
Sprawdź najnowszą wersję Has w witrynie firmy Intel i zainstaluj ją. Pozwól pamięci RAM w zalecanym rozmiarze „wstępnie ustawić 2048”, a następnie spróbuj uruchomić aplikację. Wszystko powinno działać dobrze.
źródło
Tak, to powinno zostać naprawione, HAXM nie działa.
HAXM czasami działa; doświadczenie z HAXM jest obecnie sporadyczne na różnych platformach.
Na przykład mam komputer iMac z końca 2009 roku z procesorem 10.8.5 i i7 @ 2.8Ghz, Android SDK 22.6 ze wszystkimi dodatkami zaktualizowanymi dziś rano (03/05/14). API17 zbuduje emulatory z akceleracją HAXM na tym komputerze iMac, API19 się dławi.
Mam też Retina z początku 2013 roku MBP 15 "z procesorem 10.8.5 i i7 @ 2,7Ghz, Android SDK 22.6 ze wszystkimi dodatkami zaktualizowanymi dziś rano (03/05/14). API17 zbuduje emulatory z akceleracją HAXM, API19 też działa świetnie .
To samo dotyczy mojego (osobistego) MBP Retina 13 "z końca 2013 r. Z dwurdzeniowym procesorem i5 i Mavericks.
Jest coś, czego brakuje do wirtualizacji na poziomie chipów w starszych procesorach (nawet i7), których potrzebują nowe obrazy API19 x86, aby HAXM działał. Jeśli API19 nie działa, wypróbuj API17 lub nawet 16.
źródło
Na komputerze Mac Otwórz wyszukiwarkę, a następnie
Ctr + Alt + G
wpisz to/Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager
zamierzasz znaleźć instalator akceleratora emulatora, więc uruchom go i skonfiguruj pamięć, której potrzebujesz, zmodyfikuj go i spróbuj ponownie uruchomić aplikację na Androida
źródło
IntelHAXM_<version name>.dmg
pliku w katalogujeśli korzystasz z procesora Intel, upewnij się, że instalator HAXM (Intel® Hardware Accelerated Execution Manager) został zainstalowany za pośrednictwem Menedżera SDK, zaznaczając tę opcję w Menedżerze SDK. a następnie uruchom instalator HAXM ext, korzystając z poniższej ścieżki
sprawdź również rozmiar pamięci RAM przydzielony podczas instalacji HAX, aby pasował do rozmiaru pamięci RAM Twojego emulatora.
Ten film przedstawia wszystkie wymagane kroki, które mogą pomóc w rozwiązaniu problemu.
Ten film pomoże Ci również w przypadku problemów po zainstalowaniu HAXM.
źródło
Albo zwiększ rozmiar pamięci RAM przydzielony podczas instalacji HAX, aby zmieścić dokładnie lub nieco więcej miejsca niż rozmiar pamięci RAM emulatora, który chcesz uruchomić w trybie "Intel x86 Emulator Accelerator (HAXM)",
Gdy ci się to uda, możesz teraz zobaczyć to w konsoli / dzienniku
źródło
Należy sprawdzić, czy rozmiar przydzielony podczas instalacji HAX jest taki sam, jak rozmiar w konfiguracji emulatora AVD.
Możesz zobaczyć po francusku tutaj: http://blerow.blogspot.fr/2015/01/android-studio.html
źródło
rozwiązanie Geckoba działa doskonale. Przestroga: dostarczony HAXM jest używany we wszystkich uruchomionych urządzeniach. Więc jeśli testujesz na telefonie i tablecie w tym samym czasie i każdy z nich ma wymaganie 1G. Następnie upewnij się, że przydzielony HAXM ma co najmniej 2G.
źródło
Pobierz HAXM z Menedżera SDK
Otwórz Menedżera SDK z Android Studio, kliknij ikonę pokazaną na zrzucie ekranu.
Kliknij opcję „Uruchom autonomicznego menedżera SDK” w oknie dialogowym „Ustawienia domyślne”.
Sprawdź węzeł „Dodatki> Akcelerator emulatora Intel x86 (instalator HAXM)” i kontynuuj pobieranie HAXM.
Instalowanie lub modyfikowanie HAXM
Możesz teraz uzyskać dostęp do instalacji (lub modyfikacji istniejącego installtino) HAXM, uzyskując dostęp do lokalizacji pobierania. Wprowadź tę ścieżkę w polu „Uruchom”
i dwukrotnie kliknij plik „intelhaxm-android.exe”
Możesz zwiększyć rozmiar pamięci przydzielonej do HAXM podczas modyfikowania istniejącej instalacji HAXM. Mam maszynę z 32 GB pamięci RAM i chciałbym uruchomić wiele AVD w tym samym czasie (do automatycznego testowania itp.), Więc przeznaczyłem 8 GB na HAXM.
Caveat
Jeśli używasz jednego AVD o wielkości 1 GB i przydzielono 2 GB do HAXM, nie możesz uruchomić innego AVD z pamięcią RAM większą niż 1 GB. Upewnij się, że Android Device Monitor nie działa podczas modyfikowania lub instalowania HAXM (aby uniknąć niespodzianek).
Te kroki są testowane na platformie Windows, ale ogólnie można je zastosować również na innych platformach z niewielkimi modyfikacjami.
źródło
Mój problem polegał na tym, że nie mogłem już uruchomić emulatora, który działał, ponieważ zamknąłem aplikację emulatora, ale proces nie został w pełni zakończony, więc próbowałem uruchomić inny emulator, podczas gdy poprzedni nadal działał. Na komputerze Mac musiałem użyć Monitora aktywności, aby zobaczyć inny proces i go zabić. Kroki:
źródło
W moim przypadku ten błąd został naprawiony, gdy ustawiłem pamięć HAXM równą pamięci AVD. Pamięć HAXM 1024 MB = pamięć AVD 1024 MB
Do tego momentu błąd powinien zostać naprawiony.
Teraz wymieniam moje określone środowisko na wypadek, gdyby mogło być pomocne dla kogoś używającego OS X.
OS X El Capitan 10.11.4
MacBook (13-calowy), 2 GHz Intel Core 2 Duo, 4 GB pamięci RAM.
Android Studio 2.1
Marshmallow (23) x86 nie przechodził przez migający ekran ikon Androida nawet przez kilka godzin.
Lollipop (22) x86 przeszedł przez migający ekran ikony Androida, a następnie pokazał
KitKat (19) x86 działał pomyślnie i mogłem tam zainstalować hello world.
źródło
Otwórz ponownie konfigurację urządzenia AVD. edytując urządzenie w menedżerze AVD. przejdź do wyboru wersji AVD dla systemu Android. W prawym okienku wyświetlane jest zalecenie, postępuj zgodnie z nim i wszystko zostanie naprawione.
źródło
Domyślna pamięć przypisana do HAX to 1024 MB. Emulator ma najwyraźniej 1536 MB dla Nexusa 5x api 25.
jeśli używasz Android Studio,
Działa jak marzenie. :)
źródło