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 Android Emulatorem. Jeśli napotkasz problem, którego nie ma na liście, lub nie możesz skutecznie zastosować podanego rozwiązania, zgłoś błąd.

Problemy ogólne


Mapy Google nie wyświetlają się w rozszerzonych elementach sterujących w emulatorze Androida

Od połowy maja starsze wersje Android Emulatora (przed wersją 34.2.13) nie będą już miały działających Map Google w rozszerzonych elementach sterujących. Starsze emulatory są dostarczane z wersją Chromium, która jest niezgodna z interfejsem Google Maps JavaScript API.

Sprawdzenie, czy masz wystarczająco dużo miejsca na dysku

Aby uniknąć awarii i zawieszania się z powodu braku wolnego miejsca na dysku, emulator sprawdza, czy jest wystarczająco dużo wolnego miejsca na dysku, i nie uruchamia się, jeśli nie ma co najmniej 5 GB wolnego miejsca. Jeśli emulator nie uruchamia się, sprawdź, czy masz wystarczająco dużo 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 takiego oprogramowania może obniżyć wydajność narzędzi takich jak Android Emulator.

Wiele pakietów antywirusowych umożliwia dodawanie konkretnych aplikacji do listy zaufanych aplikacji, co pozwala im działać bez pogorszenia wydajności. Jeśli masz problemy z zapisywaniem lub wczytywaniem migawek AVD, możesz poprawić wydajność, dodając aplikację Android Emulator jako zaufaną w programie antywirusowym.

Wpływ na wydajność różni się w zależności od pakietu oprogramowania antywirusowego. Jeśli masz zainstalowane dodatkowe oprogramowanie antywirusowe poza tym, które jest dołączone do systemu operacyjnego, możesz przeprowadzić proste testy, aby określić, które oprogramowanie antywirusowe ma większy wpływ na wydajność podczas wczytywania i zapisywania danych w emulatorze.

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 opcje Użyj zagnieżdżonej wirtualizacji, gdy jest dostępnaWłącz wirtualizację wspomaganą sprzętowo w ustawieniach Rozwiązywanie problemów Avast. Po wyłączeniu wirtualizacji sprzętowej Avast upewnij się, że HAXM jest ponownie prawidłowo skonfigurowany, w tym celu w Menedżerze pakietów SDK zainstaluj ponownie najnowszą wersję HAXM.

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

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

Po uruchomieniu emulatora musi on zainicjować pamięć RAM systemu operacyjnego gościa Androida. W systemie Windows emulator żąda, aby system Windows uwzględniał pełny rozmiar pamięci gościa w momencie uruchomienia, mimo że podczas rzeczywistej pracy pamięć może być stronicowana na żądanie. Emulator żąda pełnej ilości pamięci gościa w momencie uruchomienia, ponieważ system Windows zachowuje ostrożność, aby zapewnić wystarczającą ilość pamięci RAM i pliku stronicowania do przechowywania całego potencjalnego zestawu roboczego. Ta prośba przygotowuje na najgorszy scenariusz, w którym cała pamięć gościa jest szybko wykorzystywana bez możliwości odrzucenia lub zwolnienia pamięci.

Czasami, gdy emulator prosi system Windows o uwzględnienie pełnego rozmiaru pamięci gościa, żądanie przekracza bieżący limit zatwierdzenia, czyli sumę dostępnej fizycznej pamięci RAM i pliku stronicowania. W takim przypadku system Windows nie może zagwarantować, że najgorszy możliwy zestaw roboczy zmieści się w pamięci RAM ani w pliku stronicowania, a emulator nie uruchomi się.

W typowych przypadkach ilość miejsca na dysku twardym przydzielonego na plik stronicowania plus pamięć RAM jest wystarczająca w większości przypadków użycia emulatora. Jeśli jednak nie możesz uruchomić emulatora z powodu przekroczenia limitu zatwierdzenia, zalecamy sprawdzenie bieżącego obciążenia zatwierdzeniem, które jest widoczne 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 zobowiązań na różne sposoby:

  • Zwolnij fizyczną pamięć RAM przed uruchomieniem emulatora, 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 pamięci i zbliżać system do limitu obciążenia.
  • Użyj rozmiaru zarządzanego przez system dla pliku stronicowania systemu Windows, który może elastyczniej i dynamiczniej zwiększać rozmiar pliku stronicowania, a tym samym limit zatwierdzenia, w odpowiedzi na zwiększone zapotrzebowanie ze strony emulatora i innych aplikacji.

    Więcej informacji o opłatach za zatwierdzenie i o tym, dlaczego elastyczne ustawienie jest najlepsze, znajdziesz w tym artykule firmy Microsoft.

W oknie narzędzi nie działa funkcja multi-touch

Gesty wielodotykowe, w tym przesuwanie 2 palcami, nie działają, gdy emulator jest uruchomiony w oknie narzędziowym. Aby włączyć obsługę wielodotyku, uruchom emulator w osobnym oknie.

Emulator pogarsza jakość wyjścia audio Bluetooth

Jeśli używasz zestawu słuchawkowego Bluetooth, możesz zauważyć, że jakość wyjścia audio z słuchawek Bluetooth pogarsza się podczas działania emulatora (problem 183139207). Dzieje się tak, ponieważ po uruchomieniu emulatora włącza on mikrofon zestawu słuchawkowego, co powoduje przełączenie zestawu słuchawkowego w tryb dupleksowy o obniżonej jakości.

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

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

Na urządzeniach z ChromeOS wirtualne urządzenia z Androidem (AVD) mogą się nie uruchamiać, ponieważ brakuje zależności libnss3. Aby uruchomić AVD, wpisz sudo apt install libnss3, aby ręcznie zainstalować bibliotekę libnss3.

Ostrzeżenia czujnika nachylenia nadgarstka na Wear OS

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

Deweloperzy mogą bezpiecznie zignorować te ostrzeżenia.

Za małe okno wbudowanego emulatora

Na urządzeniach o niższej rozdzielczości, np. 1024 x 768, odczytywanie ekranu emulatora uruchomionego w oknie narzędziowym w Android Studio może być trudne. Aby zwolnić więcej miejsca dla emulatora, 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ęty do doku.

Problemy z grafiką


Emulator Androida działa wolno po aktualizacji

Wiele czynników zewnętrznych może spowodować, że po aktualizacji emulator Androida zacznie działać wolniej. Aby rozpocząć rozwiązywanie problemu, wykonaj te czynności:

  • Jeśli masz kartę graficzną Intel (zwłaszcza Intel HD 4000), pobierz i zainstaluj najnowszy sterownik graficzny Intel.
  • Jeśli komputer ma zarówno kartę graficzną Intel, jak i osobną kartę graficzną, wyłącz kartę graficzną Intel w Menedżerze urządzeń, aby mieć pewność, że używasz osobnej karty graficznej.
  • Uruchom emulator w trybie -gpu swiftshader. Więcej informacji o konfigurowaniu opcji akceleracji 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 i podaj niezbędne szczegóły dotyczące emulatora Androida, abyśmy mogli zbadać problem.

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

Jeśli emulator nie uruchamia się z powodu błędu vulkan-1.dll cannot be found, prawdopodobnie musisz go zaktualizować. Aby zaktualizować emulator w Androidzie Studio, kliknij Narzędzia > Menedżer SDK i zainstaluj najnowszą stabilną wersję platformy Androida.

Jeśli nie potrzebujesz aplikacji korzystających z biblioteki graficznej Vulkan, możesz wyłączyć Vulkan, uruchamiając emulator z wiersza poleceń z flagą -feature -Vulkan.

Nie można utworzyć zrzutu

Tworzenie zrzutu emulatora, który zawiera bibliotekę graficzną Vulkan, nie jest obsługiwane. Aby uruchomić emulator bez Vulkan, uruchom go z wiersza poleceń z flagą -feature -Vulkan. Możesz też odinstalować aplikacje korzystające z Vulkana, takie jak Chrome na API w wersji 30 lub nowszej, i ich nie używać, jeśli chcesz używać migawek w ramach procesu programowania.

Nie można prawidłowo otworzyć strony

Od poziomu API 30 Chrome używa biblioteki graficznej Vulkan jako backendu renderowania, co może powodować problemy ze zgodnością na niektórych urządzeniach. Jeśli Chrome nie renderuje się prawidłowo, spróbuj uruchomić emulator z wiersza poleceń za pomocą flagi -feature -Vulkan.

Ostrzeżenie dotyczące sterownika GPU – powrót do oprogramowania

Jeśli otrzymujesz ostrzeżenie o powrocie do sterownika GPU, może to oznaczać, że używasz nieobsługiwanego układu GPU. Domyślnie używa ustawienia automatycznego, które może wybrać renderowanie oprogramowania. Jeśli wybierzesz sprzęt, możesz wymusić renderowanie sprzętowe (może się pojawić komunikat ostrzegawczy).

W przypadku obrazów spoza Sklepu Play możesz to zrobić w menedżerze urządzeń –> 3 kropki –> edytuj. W przypadku obrazów w Sklepie Play musisz ręcznie edytować te 2 pliki konfiguracyjne:

~/.android/your_avd_name.avd/config.ini

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

i zmień hw.gpu.mode na host.

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

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

Jeśli emulator nie uruchamia się podczas korzystania z Pulpitu zdalnego Chrome w systemie Windows, zalecamy użycie flagi -gpu, np. -gpu host lub -gpu swiftshader.

Emulator został zamknięty z kodem wyjścia -1073741511 (Windows 8.1 lub Windows 10 N)

Prawdopodobnie w systemie (np. C:\Windows\System32 (system 64-bitowy)) brakuje plików msvcp140.dll, msvcp140_1.dll i msvcp140_2.dll. W przeszłości użytkownicy, którzy zgłaszali ten problem, mogli go rozwiązać, instalując (lub ponownie instalując) funkcję Windows Media Feature, która jest opcjonalna w wersjach N systemu Windows 10.

Podobny problem może wystąpić w systemie Windows 8.1.

Na stronie Microsoftu znajdziesz instrukcje instalowania funkcji Windows Media.

Pamiętaj, że system Windows 8.1 nie jest już obsługiwany nie tylko przez Androida Studio i emulator Androida, ale też przez firmę Microsoft (od 2023 r.). Podobny komentarz można też odnieść do systemu Windows 10, ponieważ firma Microsoft ogłosiła, że obsługa tego systemu zakończy się 14 października 2025 r. Rozumiemy potrzebę rozwiązania w systemach Windows 8.1 i Windows 10, ale dalsze rozwijanie i obsługiwanie starszych systemów operacyjnych wiąże się z wyzwaniami, które mogą wpłynąć na stabilność i wydajność emulatora w przypadku większości użytkowników.

Jeśli nie możesz zaktualizować systemu operacyjnego, możesz spróbować znaleźć starszą wersję emulatora Androida w naszym archiwum (https://developer.android.com/studio/emulator_archive, ostatnia stabilna wersja to 32.1.11), która może być zgodna z systemem Windows 8.1. Jest to jednak rozwiązanie nieobsługiwane. Pamiętaj, że te starsze wersje są nieobsługiwane i mogą nie działać prawidłowo. Zdecydowanie odradzamy używanie ich z nowszymi wersjami Androida (takimi jak API 34 i nowsze).

Aby zapewnić optymalne działanie emulatora Androida, zalecamy przejście na obsługiwany system operacyjny.

Przepraszamy za wszelkie związane z tym niedogodności.

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

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

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

Problemy z siecią


Brak internetu: nie można znaleźć adresu DNS serwera

Jeśli emulator nie może połączyć się z internetem, spróbuj uruchomić go z wiersza poleceń za pomocą opcji -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4”. To polecenie podaje listę adresów IP publicznego serwera DNS Google rozdzieloną 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. Możesz obejść ten problem, uruchamiając emulator z wiersza poleceń za pomocą opcji -dns-server 8.8.8.8 lub -dns.server 2001:4860:4860::8888, aby połączyć się z siecią obsługującą tylko IPv6.

Brak internetu: problemy z konfliktem adresów MAC

Jeśli kilka emulatorów ma ten sam adres MAC, dostęp do internetu będzie miał tylko pierwszy uruchomiony emulator. Może się tak zdarzyć, jeśli podczas tworzenia emulatorom przypisano ten sam port ADB lub jeśli zostały one uruchomione z tego samego zrzutu.

Aby rozwiązać ten problem, możesz wyczyścić dane na drugim AVD lub utworzyć nowy AVD.

Ograniczenia konfiguracji sieci z poziomu wiersza poleceń (-netsim-args)

Ustawienia sieci wiersza poleceń określone za pomocą -netsim-args możesz zastosować tylko podczas uruchamiania pierwszej instancji emulatora. Emulator stosuje te ustawienia do wszystkich kolejnych uruchamianych emulatorów. Nie możesz skonfigurować różnych ustawień sieci za pomocą argumentów wiersza poleceń dla wielu emulatorów działających jednocześnie.

Stare problemy (na wycofanych emulatorach lub starych 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 w przypadku użytkowników, którzy zaktualizowali wersję Canary z 33.x do 32.1.13, ostatnim razem, gdy uruchomili wersję 33.x, doszło do awarii i od tego czasu nie zrestartowali AVD, więc katalog %TEMP% lub /tmp jest nadal włączony. Jeśli napotykasz ten problem, spróbuj wyczyścić katalog %TEMP% (/tmp w systemie Linux lub macOS).

Windows: emulator nie uruchamia się, jeśli nazwa AVD zawiera znaki Unicode

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

Ten problem został rozwiązany w emulatorze w wersji 31.3.6 i nowszych. Aby rozwiązać ten problem, zaktualizuj emulator, klikając Narzędzia > Menedżer SDK.

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

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

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