매거진 5mm 앱개발

안드로이드 에뮬레이터가 자꾸 꺼짐 해결

컴퓨터는 너무 어려워 '_`

by 홍기린
image (3).png


플러터로 앱개발을 하는데 자꾸 에뮬레이터가 에러를 뱉으며 꺼졌다.


[ERR] Error 1 retrieving device properties for sdk gphone64 x86 64:
[ERR] adb.exe: device 'emulator-5554' not found
[ERR] Error 1 retrieving device properties for sdk gphone64 x86 64:
[ERR] adb.exe: device 'emulator-5554' not found
.. 이하 생략 (응 나 꺼질게 뭐 그런 내용)

에러를 모두 복사해서 cursor한테 물어보니

"WHPX: Failed to emulate MMIO access" 및 "Failed to exec a virtual processor"와 같은 Windows 가상화(WHPX) 관련 에러라고 했다.


그래서 해결책을 물어보니

BIOS에서 CPU 가상화(VT-x/AMD-V)가 활성화되어 있는지 확인하세요.

Windows의 Hyper-V, WSL2, Docker 등 다른 가상화 소프트웨어가 동시에 활성화되어 있지 않은지 점검하세요.

Android Emulator 설정에서 가상화 엔진을 Software로 변경해보세요.


라고 하길래, 하나씩 시도해본 썰 푼다.

(결론: 해결함)



1. Android SDK 점검

image.png

API 36의 에뮬레이터를 쓰는데 SDK가 업데이트하라고 떠있길래 업데이트 해줌.

→ 해결 안됨


2. 해당 에뮬레이터의 Graphics를 Software로 바꿈

image.png

→ 오히려 에뮬레이터가 성능에 문제 생김 (버벅거림)


3. 에뮬레이터 버전 업데이트

image.png

→ 소용 없음


4. 혹시 Docker와의 충돌일까? (본론)

GPT의 답변은 이랬다.


에러의 핵심 원인

로그상 GPU 관련 메시지도 보이지만, 실제로 에뮬레이터가 꺼지는 주된 원인은 "WHPX: Failed to emulate MMIO access" 및 "Failed to exec a virtual processor"와 같은 Windows 가상화(WHPX) 관련 에러입니다.

adb device not found는 에뮬레이터가 정상적으로 부팅되지 않아 발생한 2차적 증상입니다.

해결을 위한 점검 사항

BIOS에서 CPU 가상화(VT-x/AMD-V)가 활성화되어 있는지 확인하세요.

Windows의 Hyper-V, WSL2, Docker 등 다른 가상화 소프트웨어가 동시에 활성화되어 있지 않은지 점검하세요.

Android Emulator 설정에서 가상화 엔진을 Software로 변경해보세요.

그래도 해결되지 않으면 GPU 드라이버를 최신으로 업데이트하거나, 에뮬레이터의 그래픽 모드를 OpenGL → ANGLE 또는 Software로 변경해보세요.


GPU 드라이버도 최신이고, Hyper-v도 꺼져있는 상황이었다.

지피티는 Docker를 끄라는데, 백엔드 인증 DB가 Docker에서 돌고 있어서 끌 수 없는 상황.

그리고 원래는 잘 됐었음.


그래서 이런 상황을 GPT에게 이야기하니


Docker가 WSL2 백엔드를 사용하도록 설정되어 있다면, WSL2와 에뮬레이터의 가상화가 충돌할 수 있습니다.

Docker Desktop의 Settings > General에서 "Use the WSL 2 based engine" 옵션을 확인하세요.

이 옵션을 끄면 Hyper-V 백엔드로 전환되지만, Hyper-V가 꺼져 있다면 Docker가 동작하지 않을 수 있습니다.


이렇게 얘기해주길래 Docker의 설정에서 WSL2 엔진 옵션을 끄고, 윈도우 기능에서 Hyper-V 를 켰다. 그리고 윈도우 재부팅.


결과는?

Docker가 안켜졌다 (두둥)

도커 엔진 초기화 불가능하다는 어쩌구저쩌구 빨간 아이콘과 글씨가 뜨면서 안됨.



그래서 Docoker 삭제하고 다시 설치

다시 설치할때, recommended로 wsl2를 사용하라는 문구가 나오는데, 그걸 체크해제하고 설치함



그럼에도 불구하고, 에뮬레이터가 꺼지길래

마지막으로 GPT가 얘기한

에뮬레이터의 디바이스 설정에서 Emulated Perfomance 를 Software로 변경함


그렇게 해서 해결!!



*** 결론

결국 가상화 엔진 충돌 문제였던것 같다. Docker를 wsl2를 사용하지 않도록 하고, 에뮬레이터의 디바이스 설정을 Software로 하니까 최종적으로 해결.

keyword
매거진의 이전글2048 게임 크롬 웹스토어 출시 성공 후기