Emulator Process finished with exit code 1 (AMD CPU RYZEN 5) 오류 해결방법
얼마 전에 집에 있는 PC를 포맷하고 윈도우10 운영체제를 재설치 했습니다. PC를 한동안 사용하다 보니 설정 파일들도 많이 조정했고 프로그램도 많이 다운받아서 그런지 컴퓨터를 포맷할 필요가 있었던 것 같습니다.
포맷하고 개인적으로 앱을 만들고 있는 게 있어 안드로이드스튜디오를 깔았습니다.
그런데 아래 이미지와 같이 Emulator Process finished with exit code 1 에러가 나더군요. 사용하던 PC를 포맷하기 전에도 안드로이드스튜디오 개발을 하고 있었기 때문에 쉽게 해결할 줄 알았습니다.
인터넷에 정보를 좀 찾아보니 먼저 가상화를 활성화해야 한다더군요. 제가 사용하는 메인 보는 Asrock 계열의 메인보드이기 때문에 BIOS 화면이 메인보드별로 다를 수 있으며 가상화를 활성화하는 방법도 조금씩 다를 수 있으니 참고하시기 바랍니다.
어쨌든 DEL, F2 버튼을 눌러 가상화 활성을 진행했습니다. Asrock 계열의 메인보드는 Advanced 메뉴에 CPU Configuration 메뉴를 들어가시면 됩니다.
그런 뒤에 SVM Mode를 enabled 해주시면 됩니다.
마지막으로 Exit를 누르시거나 F10 버튼을 누르시고 변경한 설정 파일을 YES 버튼을 눌러 저장하시면 됩니다.
위와 같이 가상화도 활성화되었으니 문제가 없겠다고 생각으로 다시 안드로이드 스튜디오를 실행해 보았더니 마찬가지로 에러가 나서 진행이 되지 않더군요.
인터넷에 정보를 좀 더 찾아보니 Intel x86 Emulator Accelerator(HAXM installer)를 설치하면 된다고 나옵니다.
계속 안 되어서 다른 것도 모두 설치해 봤는데 Intel x86 Emulator Accelerator(HAXM installer) 오류가 나면서 설치 실패라고 나오더군요.
결국 문제는 제가 사용하는 CPU는 AMD RYZEN 시리즈의 CPU에서는 Intel x86 Emulator Accelerator(HAXM installer) 설치 진행이 안 됩니다.
인터넷의 다양한 정보를 좀 더 찾아보고 나니 Windows Hyper visor Platform을 윈도우 기능을 켜줘야 한다고 되어 있습니다.
윈도우10 환경에서 Windows 기능 켜기/끄기로 검색하시면 됩니다.
아무리 찾아봐도 Windows Hypervisor Platform 기능이 보이지 않습니다. 이름이 비슷한 Hyper-V 기능만 보입니다. 혹시나 하고 Hyper-V 기능을 모두 켜고 다시 컴퓨터를 재부팅하고 안드로이드 스튜디오 에뮬레이터 실행을 해보아도 동일한 오류가 나면서 되지 않습니다.
추가로 해당 기능을 켜면 녹스, 모모, 블루스택 등 에뮬레이터를 사용하시는 분들은 해당 프로그램이 작동이 안 되니 해당 프로그램을 사용하시는 분들은 Hyper-V 기능을 꺼주시는 게 좋습니다.
인터넷 검색을 통해서 다양한 방법을 모두 시도해 보았습니다. 오랜 삽질 끝에 지쳐서 컴퓨터를 켜놓고 잠들었습니다.
컴퓨터를 켜놓고 자고 일어나 보니 어는 새 윈도우 업데이트가 진행되어 알아서 컴퓨터가 재부팅되었더군요. 안드로이드 영문 사이트에서 봤었던 내용인데 윈도우 업데이트 버전을 체크해 보라는 이야기가 있었습니다만 무시했었던 기억이 나서 혹시나 Windows 기능 켜기/끄기 메뉴에 다시 들어가서 Windows Hypervisor Platform 메뉴가 있는지 확인해 보았습니다.
Windows 기능 켜기/끄기를 확인해보니 윈도우 업데이트를 받기 전에는 없었던 Windows Hypervisor Platform 기능이 있었습니다! Windows Hypervisor Platform을 체크하고 컴퓨터를 재부팅 해봤습니다.
최종 Windows 기능 켜기/끄기 세팅된 이미지입니다.
안드로이드스튜디오에서 다시 에뮬레이터를 실행해 봤습니다. 드디어 세팅이 완료된 것인가 생각하는 순간 시간이 아무리 지나도 안드로이드 에뮬레이터가 검은색 화면에서 더는 진행이 안 됩니다.
실망하고 에러 로그를 보니 Session 'app': Error Installing APKs라는 다른 에러가 나더군요. 이건 해결 방법이 간단했습니다.
아래 이미지와 같이 안드로이드 스튜디오 화면에서 Tools 메뉴를 누르시고 SDK Manager 메뉴를 누르시면 됩니다.
그런 뒤에 왼쪽에 Build, Execution, Deployment 메뉴를 더블 클릭해보니 추가 메뉴들이 있고 Instant Run 메뉴를 선택하시면 됩니다.
그리고 Enable Instant Run to hot swap code/resource changes on deploy(default enabled)를 체크 해제하시고 OK 버튼 누르시면 됩니다.
떨리는 마음으로 안드로이드스튜디오에서 다시 에뮬레이터를 실행해 보았습니다. 경고문이 나오는데 OK를 눌러서 진행했습니다.
드디어 정상적으로 안드로이드 스튜디오 화면에서 실행된 에뮬레이터 화면을 볼 수 있었습니다. 오랜 삽질과 쓸데없이 보낸 시간이 너무 길었습니다. Hello World!를 너무 보고 싶었습니다.
제가 사용하는 메인보드도 Intel 사의 제품이 아니었고 CPU도 RYZEN 계열을 사용하다 보니 일반적인 방식과 조금 다르게 설정이 진행되어야 했습니다.
결과적으로 안드로이드 스튜디오 에뮬레이터 실행 시실행시 Emulator Process finished with exit code 1 에러가 난다면 체크해야 될 게 몇 가지 있었습니다.
1. 포맷 후 윈도우10 업데이트를 최신 버전으로 모두 업데이트 받는다.
2. 메인보드 제조사별 BIOS 설정 메뉴에서 가상화 설정을 Enable 한다.
3. Windows 기능 켜기 설정에서 Windows Hypervisor Platform 기능을 켜준다.
4. 에뮬레이터 실행 후 검은색 화면에서 넘어가지 않는다면 안드로이드스튜디오 프로그램 설정에서 Enable Instant Run to hot swap code/resource changes on deploy(default enabled)를 체크를 해제해 준다.
나중에 다시 포맷할 때 위와 같은 현상과 문제로 또다시 시간이 지연될까 봐 기록을 남기며 혹시라도 저와 같은 현상 때문에 고생하신 분들이 있다면 참고하셔서 빠른 문제 해결이 되기를 바라는 마음으로 작성해 보았습니다.
필요한 내용이 있다면 참고하시면 좋을 것 같습니다.