Rozwiązywanie znanych problemów z emulatorem Androida

Na tej stronie znajdziesz listę znanych problemów, obejść i wskazówek dotyczących rozwiązywania problemów z Emulatorem Androida. Jeśli napotkasz problem, którego nie ma na liście, lub nie możesz użyć obejścia wymienionego na liście, zgłoś błąd.

Problemy ogólne


Mapy Google nie wyświetlają się w rozszerzonych kontrolkach emulatora Androida

Od połowy maja wersje emulatora Androida starsze niż 34.2.13 nie będą już zawierać prawidłowo działających map Google w rozszerzonych kontrolkach. Starsze wersje emulatora są dostarczane z wersją przeglądarki Chromium, która jest niezgodna z interfejsem Google Maps Javascript API.

Sprawdzanie, czy jest wystarczająco dużo miejsca na dysku

Aby uniknąć awarii i zawieszania się emulatora z powodu braku miejsca na dysku, podczas uruchamiania sprawdza on, czy jest wystarczająco dużo wolnego miejsca na dysku, i nie uruchamia się, chyba że jest co najmniej 5 GB wolnego miejsca. Jeśli emulator się nie uruchomi, sprawdź, czy masz wystarczającą ilość wolnego miejsca na dysku.

Programy antywirusowe

Wiele pakietów oprogramowania zabezpieczającego i antywirusowego działa poprzez monitorowanie każdej operacji odczytu i zapisu, dlatego korzystanie z tego typu oprogramowania może obniżyć wydajność narzędzi takich jak emulator Androida.

Wiele pakietów antywirusowych umożliwia dodawanie określonych aplikacji do listy zaufanych aplikacji, co umożliwia ich działanie bez spadku wydajności. Jeśli masz niską wydajność podczas zapisywania lub wczytywania zrzutów AVD, możesz zwiększyć tę wydajność, dodając aplikację Emulator Androida jako zaufaną aplikację antywirusową.

Wpływ na wydajność zależy od pakietu oprogramowania antywirusowego. Jeśli masz zainstalowane dodatkowe oprogramowanie antywirusowe, które nie jest częścią systemu operacyjnego, możesz przeprowadzić proste testy, aby określić, które oprogramowanie antywirusowe ma większy wpływ na wydajność operacji wczytywania i zapisywania emulatora.

Niektóre programy antywirusowe mogą być niezgodne z Emulatorem Androida.

Jeśli używasz oprogramowania Avast i masz problemy z uruchomieniem emulatora Androida, wyłącz opcję Użyj zduplikowanej wirtualizacji, jeśli jest dostępna i opcję Włącz wirtualizację wspomaganą przez sprzęt w ustawieniach Rozwiązywanie problemów w Avast. Po wyłączeniu wirtualizacji sprzętowej Avast upewnij się, że HAXM jest prawidłowo skonfigurowany, ponownie instalując najnowszą wersję HAXM z Menedżera pakietu SDK.

W systemie Windows AVD może czasami zawieszać się z HAXM. Problem można rozwiązać, całkowicie odinstalowując McAfee.

Windows: wolna pamięć RAM i opłata za zatwierdzenie

Podczas uruchamiania emulator musi zainicjować pamięć RAM systemu operacyjnego Android. W systemie Windows emulator wysyła do systemu Windows żądanie pełnego rozmiaru pamięci gościa w momencie uruchomienia, mimo że podczas działania pamięć może być wywoływana na żądanie. Podczas uruchamiania emulator żąda pełnej ilości pamięci gościa, ponieważ system Windows dba o to, aby było wystarczająco dużo fizycznej pamięci RAM i pliku strony, aby pomieścić cały potencjalny zestaw roboczy. To żądanie przygotowuje się na najgorszy scenariusz, w którym cała pamięć gościa jest szybko używana bez możliwości odrzucenia lub zwolnienia pamięci.

Czasami, gdy emulator prosi system Windows o uwzględnienie tego pełnego rozmiaru pamięci gościa, żądanie przekracza bieżący limit zobowiązania, który stanowi sumę dostępnej fizycznej pamięci RAM i pliku stronicowania. W takim przypadku system Windows nie może zagwarantować, że zestaw roboczy w najgorszym przypadku mieści się w fizycznym module pamięci RAM lub pliku strony, a emulator nie uruchamia się.

W większości przypadków ilość miejsca na dysku twardym przydzielona plikowi wymiany plus pamięć fizyczna RAM wystarcza do większości zastosowań emulatora. Jeśli jednak nie możesz uruchomić emulatora z powodu przekroczenia limitu zatwierdzania, sprawdź bieżący koszt zatwierdzania, który możesz zobaczyć na karcie Wydajność w Menedżerze zadań systemu Windows. Aby otworzyć Menedżera zadań, naciśnij Ctrl+Shift+Esc.

Aby zmniejszyć prawdopodobieństwo przekroczenia limitu zatwierdzeń, możesz:

  • Przed uruchomieniem emulatora zwolnij pamięć RAM, zamykając nieużywane aplikacje i pliki.
  • Wyłącz narzędzia do zarządzania pamięcią i kompresji pamięci innych firm. Te narzędzia mogą nieefektywnie powodować nadmierne obciążenie commitem i przybliżać system do limitu commitów.
  • Użyj rozmiaru zarządzanego przez system dla pliku strony Windows, który może elastyczniej i dynamicznie zwiększać rozmiar pliku strony, a tym samym limit zatwierdzania, w odpowiedzi na zwiększone zapotrzebowanie ze strony emulatora i innych aplikacji.

    Więcej informacji na temat opłat za zatwierdzanie i powodów, dla których najlepiej sprawdza się ustawienie elastyczne, znajdziesz w tym artykule firmy Microsoft.

Wielodotyk nie działa w oknie narzędzia

Gesty wielodotykowe, w tym przesuwanie dwoma palcami, nie działają, gdy emulator działa w oknie narzędzi. Aby włączyć obsługę wielodotyku, uruchom emulator w osobnym oknie.

Emulatorami pogarsza jakość dźwięku z Bluetooth

Jeśli używasz zestawu słuchawkowego Bluetooth, możesz zauważyć, że jakość dźwięku z zestawu słuchawkowego Bluetooth pogarsza się podczas działania emulatora (problem 183139207). Dzieje się tak, ponieważ po uruchomieniu emulatora włącza mikrofon zestawu słuchawkowego, co powoduje, że ten tryb przełącza się w tryb dupleksu z gorszą jakością.

Aby uniknąć tego problemu, wyłącz mikrofon w emulatorze, dodając hw.audioInput=no do pliku config.ini urządzenia wirtualnego Androida (AVD). Aby znaleźć plik config.ini AVD, przejdź do AVD w Menedżerze urządzeń, kliknij jego rozszerzone menu i wybierz Pokaż na dysku.

Nie można uruchomić urządzeń wirtualnych Androida w ChromeOS

Na ChromeOS uruchomienie wirtualnych urządzeń z Androidem (AVD) może się nie udać z powodu braku zależności libnss3. Aby uruchomić AVD, uruchom sudo apt install libnss3, aby ręcznie zainstalować bibliotekę libnss3.

Ostrzeżenia dotyczące czujnika pochylenia nadgarstka w Wear OS

W Wear OS emulator może wielokrotnie zarejestrować ten komunikat dotyczący czujnika pochylenia nadgarstka: the host has not provided value yet for sensorHandle=16

Deweloperzy mogą bezpiecznie zignorować te ostrzeżenia.

Okno wbudowanego emulatora jest za małe

Na maszynach z niższą rozdzielczością, np. 1024 x 768, ekran emulatora może być niewidoczny, gdy jest on uruchamiany w oknie narzędzia w Android Studio. Aby zapewnić emulatorowi więcej miejsca, zamknij okno narzędzia Menedżer urządzeń, jeśli jest otwarte. Możesz też wyciągnąć okno emulatora z Androida Studio. Aby to zrobić, w oknie emulatora kliknij Ustawienia > Tryb wyświetlania i wybierz Okno zamiast Przypięte do docka.

Problemy z grafiką


Po aktualizacji emulator Androida działa wolno

Po aktualizacji emulatora Androida może on zacząć działać wolno z powodu różnych czynników zewnętrznych. Aby rozpocząć rozwiązywanie problemów, zalecamy wykonanie tych czynności:

  • Jeśli masz procesor graficzny Intel (zwłaszcza Intel HD 4000), pobierz i zainstaluj najnowszy sterownik graficzny Intela.
  • Jeśli Twoje urządzenie ma zarówno kartę graficzną Intel, jak i oddzielną kartę graficzną, wyłącz kartę Intel w Menedżerze urządzeń, aby mieć pewność, że używasz karty osobnej.
  • Uruchom emulator w trybie -gpu swiftshader. Więcej informacji o konfigurowaniu opcji przyspieszenia grafiki w wierszu poleceń znajdziesz w artykule Konfigurowanie akceleracji sprzętowej.
  • Jeśli nie masz połączenia IPv6, upewnij się, że router nie używa adresów IPv6.

Jeśli nadal masz problemy z powolnym działaniem emulatora Androida, zgłoś błąd, podając niezbędne informacje o emulatorze, abyśmy mogli go zbadać.

Błąd: nie znaleziono pliku vulkan-1.dll

Jeśli emulację nie uda się uruchomić z powodu błędu vulkan-1.dll cannot be found, prawdopodobnie trzeba będzie zaktualizować emulator. Aby zaktualizować emulator w Android Studio, otwórz Narzędzia > Menedżer pakietu SDK i zainstaluj najnowszą stabilną wersję platformy Android.

Jeśli nie potrzebujesz żadnych aplikacji, które korzystają z biblioteki grafiki Vulkan, wyłącz Vulkan, uruchamiając emulator z wiersza poleceń z flagą -feature -Vulkan.

Nie udało się utworzyć zrzutu

Tworzenie zrzutu emulatora zawierającego bibliotekę graficzną Vulkan nie jest obsługiwane. Aby uruchomić emulator bez Vulkana, uruchom emulator z poziomu wiersza poleceń z flagą -feature -Vulkan. Jeśli chcesz używać zrzutów ekranu w ramach procesu programowania, możesz odinstalować aplikacje korzystające z Vulkana, takie jak Chrome na interfejsie API 30 lub nowszym, i nie używać ich.

Nie można otworzyć strony internetowej

Począwszy od interfejsu API 30 przeglądarka Chrome używa biblioteki graficznej Vulkan jako backendu do renderowania. Na niektórych komputerach może to powodować problemy ze zgodnością. Jeśli Chrome nie renderuje się prawidłowo, spróbuj uruchomić emulator z poziomu wiersza poleceń za pomocą parametru -feature -Vulkan.

Ostrzeżenie dotyczące sterownika GPU – przejście na oprogramowanie

Jeśli widzisz ostrzeżenie o zastąpieniu sterownika GPU, być może używasz nieobsługiwanego układu GPU. Domyślnie jest to ustawienie automatyczne, które może wybierać renderowanie programowe. Jeśli wybierzesz opcję sprzętu, możesz zmusić przeglądarkę do korzystania z renderowania sprzętowego (może się jednak pojawić ostrzeżenie).

Zdjęcia spoza Sklepu Play można włączyć w Menedżerze urządzeń -> 3 kropki -> Edytuj. W przypadku obrazów w Sklepie Play musisz ręcznie edytować te 2 pliki konfiguracyjne:

~/.android/nazwa_avd.avd/config.ini

~/.android/nazwa_avd.avd/hardware-qemu.ini

i z hw.gpu.mode na host

Pamiętaj, że może to zmniejszyć stabilność emulatora. Więcej informacji znajdziesz w błędzie.

Emulator nie uruchamia się w Pulpicie zdalnym Chrome w systemie Windows

Jeśli emmulator nie uruchamia się podczas korzystania z Pulpitu zdalnego Chrome w systemie Windows, obecnie zalecanym obejściem jest użycie flagi use-gpu, takiej jak -gpu host lub -gpu swiftshader.

Emulator działa nieprawidłowo w systemie macOS w trybie renderowania sprzętowego

Na urządzeniach Mac z procesorami Apple Silicon emulator korzysta z biblioteki MoltenVK dla interfejsu Vulkan API, gdy wybrany jest tryb renderowania sprzętowego. Chociaż MoltenVK zapewnia ogólnie znacznie lepszą wydajność, biblioteka nie obsługuje wszystkich funkcji Vulkan. W przypadku problemów ze zgodnością, takich jak błędy kompilacji shaderów, problemy z grafiką lub awarie aplikacji, zmień tryb renderowania na oparty na oprogramowaniu w ustawieniach AVD lub użyj argumentu wiersza poleceń -gpu swiftshader.

Możesz też wyłączyć obsługę interfejsu Vulkan za pomocą argumentu -feature -Vulkan, aby nadal korzystać z akceleracji sprzętowej w aplikacjach GLES.

Problemy z siecią


Brak internetu: nie udało się znaleźć adresu DNS serwera

Jeśli emulator nie może połączyć się z internetem, spróbuj uruchomić go z wiersza poleceń, korzystając z opcji -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4”. Ten polecenie podaje listę adresów IP Google Public DNS rozdzielonych przecinkami. Więcej informacji o publicznym serwerze DNS Google znajdziesz w artykule Publiczny serwer DNS Google na urządzeniach.

Brak internetu: problemy z rozpoznawaniem nazw DNS

Czasami adresy DNS w pliku /etc/resolv.conf nie działają prawidłowo. Aby obejść ten problem, uruchom emulator z poziomu wiersza poleceń, używając opcji -dns-server 8.8.8.8 lub -dns.server 2001:4860:4860::8888, aby połączyć się przez sieć tylko IPv6.

Stare problemy (na wycofanych emulatorach lub starszych systemach)


Nie udało się uruchomić AVD

AVD może się nie uruchomić, jeśli istnieje raport o awarii nowszego emulatora (problem #281725854). Ten problem występuje tylko u użytkowników, którzy przeszli z wersji do wczesnych testów do wersji 33.x do 32.1.13, przy ostatnim uruchomieniu wersji 33.x wystąpiła awaria i od tego czasu nie uruchamiali ponownie AVD, dlatego katalog %TEMP% lub /tmp pozostaje włączony. Jeśli masz ten problem, spróbuj wyczyścić katalog %TEMP% (/tmp w Linuxie lub macOS).

Windows: emulator nie uruchamia się, jeśli w nazwie maszyny wirtualnej jest znak Unicode

Gdy Menedżer urządzeń tworzy w systemie Windows urządzenie wirtualne z Androidem (AVD), domyślnie tworzony jest AVD pod adresem C:\Users\<name>\.android\avd. Jeśli jednak nazwa AVD (<name>) zawiera kody Unicode, emulator nie może uruchomić AVD prawidłowo, korzystając z tej domyślnej lokalizacji.

Ten problem został rozwiązany w Emulatorze 31.3.6 i nowszych wersjach. Aby rozwiązać ten problem, zaktualizuj emulator, klikając Narzędzia > SDK Manager.

Aby obejść ten problem, przed utworzeniem AVD ustaw zmienną środowiskowąANDROID_SDK_HOME na katalog niestandardowy. Na przykład utwórz katalog C:\Android\home, a następnie ustaw wartość ANDROID_SDK_HOME na ten nowo utworzony katalog. Więcej informacji znajdziesz w artykule Zmienna środowiskowa.

Hipernadzorcy nie mogą emulować niektórych funkcji procesora wymaganych przez systemy Android x86

Hiperwizory nie mogą zwykle emulować niektórych funkcji procesora, takich jak Streaming SIMD Extensions (SSE), które są wymagane przez systemy Androida na procesorach x86.