안녕하세요.
Qt로 안드로이드 앱을 개발하다 보니, 이런저런 에러나 방법들을 알게 되어 공유해 보는 시간을 조금 가져보려고 합니다.
아래내용은 Qt 뿐만 아니라, 안드로이드 에뮬레이터를 사용한다면 HAXM 지원중단이라는 메시지를 볼 수 있습니다. 그래서 HAXM 이 무엇이고 어떻게 해결하는지 찾아본 내용을 남겨 보았습니다.
인텔(Intel)에서 지원을 중단해서 굳이 자세히 알 필요는 없지만, 이것 때문에 나타나는 거구나. 해결책을 알고 있으면 좋을 것 같아서 공유드립니다.
1. Intel HAXM 이란?
Intel HAXM(Hardware Accelerated Execution Manager)은 Android 에뮬레이터와 같은 가상 머신(VM)에서 하드웨어 가속을 가능하게 해주는 가상화 엔진입니다. Intel 프로세서의 하드웨어 가속 기능(VT-x, Virtualization Technology)을 활용하여, Android 에뮬레이터가 더 빠르고 원활하게 실행되도록 돕는 역할을 한다.
1) Intel HAXM의 주요 기능
에뮬레이션 성능 향상: Intel HAXM은 CPU의 가상화 기능을 이용하여 Android 에뮬레이터의 성능을 높였습니다. 하드웨어 가속을 사용하면 소프트웨어 에뮬레이션보다 훨씬 빠르게 애플리케이션을 테스트할 수 있어서 개발자가 실제 기기에서 실행하는 것과 유사한 속도를 경험할 수 있었습니다.
메모리 관리 최적화: Intel HAXM은 시스템 리소스를 효율적으로 관리해 메모리 점유율을 줄이고, 더 많은 메모리를 Android 가상 머신에 할당할 수 있게 해 주었습니다. 덕분에 고해상도의 화면, 더 많은 데이터 및 복잡한 앱도 원활히 실행할 수 있었습니다.
다양한 운영체제 지원: Intel HAXM은 주로 Windows와 macOS에서 Android 에뮬레이터 성능을 높이기 위해 사용되었습니다. 그러나 AMD 프로세서에서는 사용할 수 없었기 때문에, Intel CPU가 있는 환경에서 주로 활용되었습니다.
2) Intel HAXM이 사라지게 된 이유
Intel HAXM은 한동안 Android 에뮬레이터의 필수 가상화 엔진이었지만, 시간이 지나면서 아래와 같은 이유로 대체
AMD CPU와의 호환성 부족: AMD CPU 사용자들은 HAXM을 사용할 수 없었기 때문에, Android 에뮬레이터를 사용할 때 대안이 필요
안드로이드 에뮬레이터의 발전: Android Emulator Hypervisor Driver와 같은 최신 가상화 드라이버가 등장하면서, HAXM을 대체할 수 있는 하드웨어 가속 옵션이 생겼습니다. 이 드라이버는 Intel과 AMD 모두에서 호환되며, 더 유연하게 가상화를 지원
2. 해결방법
간단하게 Windows에서 VM 가속 구성을 하는 방법이 있는데 Windows에서 제공해 주는 Windows Hypervisor Platform(WHPX)과 안드로이드에서 제공해 주는 Android Emulator Hypervisor Driver(AEHD) 사용하는 것으로 보입니다.
기본적으로 BIOS에 설정이 되어 있겠지만, 만약 아래 내용이 잘 작동하지 않는다면 아래 요구사항을 체크해 보시면 어떨까 합니다.
- Intel 프로세서: 가상화 기술(VT-x), 확장 페이지 테이블(EPT), 무제한 게스트(UG) 기능을 지원해야 합니다. 컴퓨터의 BIOS 설정에서 VT-x가 사용 설정되어 있어야 합니다.
- AMD 프로세서: AMD Ryzen 프로세서를 권장합니다. 컴퓨터의 BIOS 설정에서 가상화 또는 SVM이 사용 설정되어 있어야 합니다.
1) Windows Hypervisor Platform(WHPX)을 사용하여 VM 가속 구성하는 방법
먼저, 윈도우 아이콘을 눌러서 Windows 기능 켜기/끄기를 선택합니다.
항목중에 Hyper-V 혹은 Windows Hypervisor Platform을 선택합니다. 설치가 완료되면 재부팅을 합니다.
2) Windows에서 Android Emulator Hypervisor Driver(AEHD)를 사용하여 VM 가속 구성하는 방법
Android 스튜디오에서 "Tool -> SDK Manager -> SDK Tools" 메뉴로 이동합니다.
"Intel x86 Emulator Accelerator (HAXM installer) - Deprecated" 체크된 항목을 확인합니다.
여기서 Intel x86 Emulator Accelerator를 사용하지 않을 것이기 때문에 체크를 해제합니다.
Uninstalling HAXM이 진행되고 삭제완료되었다는 메시지를 확인할 수 있습니다.
만약, 삭제에 문제가 있다면 윈도우 버튼을 눌러 소프트웨어 추가/제거를 통해 아래의 항목을 제거하면 됩니다.
Linux와 Mac에서 개발 중이라면 하단 참고 사이트의 1번 글을 참조하시면 됩니다.
감사합니다.
<참고 사이트>
1. Android Emulator의 하드웨어 가속 구성
https://developer.android.com/studio/run/emulator-acceleration?hl=ko
2. HAXM installation failed - 안드로이드 스튜디오 AVD HAXM 설치 에러 해결방법
3. HAXM 이란
ChatGPT
'Programming > Qt' 카테고리의 다른 글
Setting Up adb Debugging and Viewing Logcat Messages with Qt (2) | 2024.11.06 |
---|---|
Qt6.x 조금 빠르게 설치하기(mirror 서버 이용) (2) | 2024.11.02 |
VirtualBox 가상환경의 리눅스(Ubuntu)에 안드로이드용 Qt 설치 및 AVD(Emulator)에서 실행해 보기 (2) | 2024.09.13 |
Qt를 이용한 멀티캐스트 수신 코드 및 테스트 (Multicast Receiver) (0) | 2024.07.10 |
PyQt5에서 failed to execute script 에러가 발생 시 해결방법 찾기 (0) | 2024.06.27 |