Computer >> 컴퓨터 >  >> 소프트웨어 >> 가상 머신

안드로이드 가상 디바이스(AVD) 실행 속도 100배 빠르게 만드는 방법

안드로이드 앱을 개발하신다면 이 튜토리얼이 큰 도움이 될 것입니다. 이 글에서는 Android SDK와 운영체제를 최적화하여 AVD(Android Virtual Device)가 빠르게 실행되고 즉각적으로 반응하도록 설정하는 방법을 소개합니다. 개발 과정에서 AVD 재시작이나 디버깅에 소요되는 시간을 크게 절약할 수 있어 실무에서 매우 중요한 내용입니다.

다만 한 가지 미리 말씀드릴 점은, 이 가이드는 Windows 환경의 Intel 아키텍처 기준으로 작성되고 테스트되었다는 것입니다. Linux나 AMD 프로세서를 사용하시는 분들은 후속 아티클을 기다려 주시기 바랍니다. 그럼 시작해 보겠습니다.

1단계: Intel x86 Atom 시스템 이미지 확보

가장 먼저 해야 할 일은 x86 이미지를 다운로드하는 것입니다. 파일을 직접 찾아 수동으로 받을 수도 있지만 번거로울 수 있으므로, Android SDK Manager를 통해 다운로드하는 것이 가장 합리적입니다. 당연히 Android SDK가 먼저 설치되어 있어야 하며, 이를 위해서는 적절한 버전의 Java도 함께 설치해야 합니다.

SDK Manager에서 용도에 맞는 안드로이드 이미지 버전을 선택해 다운로드합니다. 예를 들어 KitKat(4.4 - API 19)이 적당하며, 필요하다면 더 오래된 버전을 선택해도 무방합니다. 설치가 완료될 때까지 잠시 기다려 주세요.

2단계: Intel HAXM 드라이버 설치

이 단계에서 가장 큰 성능 향상을 얻을 수 있습니다. Intel HAXM(Hardware Accelerated Execution Manager) 드라이버는 x86 아키텍처에서 안드로이드 에뮬레이터의 성능을 극적으로 최적화해 줍니다. 공식 사이트에서 다운로드하여 설치한 뒤 실행해 보세요. 그런데 아마 설치에 실패할 가능성이 높습니다.

실패 원인은 팝업 창에 안내되어 있습니다. 대부분의 경우 BIOS/UEFI에서 Execute Disable Bit 옵션이 비활성화되어 있어 드라이버 설치가 불가능한 상황입니다. 이 경우 컴퓨터를 재부팅하고 BIOS/UEFI 설정 화면에 진입해 해당 옵션을 변경해야 합니다. 제조사마다 메뉴 표기 방식은 조금씩 다르지만, 대개 메모리 관리(Memory Management) 항목에서 찾을 수 있습니다. 옵션을 활성화(Enable)로 설정한 뒤 저장하고 재부팅하세요.

3단계: HAXM 재설치

BIOS 설정을 마쳤다면 이제 HAXM을 다시 설치합니다. 이번에는 별다른 문제 없이 정상적으로 설치가 완료될 것입니다.

4단계: 새 AVD 생성

생성 과정 자체는 간단하지만, 몇 가지 옵션에 특히 주의해야 합니다.

  • RAM: 768MB 이하로 설정하는 것이 좋습니다.
  • SD 카드: 반드시 구성해 두세요. 그래야 테스트 중 저장 공간 부족으로 곤란해지는 일을 막을 수 있습니다.
  • Host GPU 사용: 성능 향상을 위해 호스트 GPU 옵션을 활성화하는 것도 권장합니다.

5단계: 변경 사항 테스트

이제 AVD를 실행해 보세요. HAXM이 설치되어 있지 않으면 가상 디바이스를 구동할 때 아무런 메시지도 표시되지 않으며, 모든 동작이 극도로 느립니다.

반면 HAXM이 정상적으로 설치되어 있다면 콘솔에 다음과 같은 메시지가 출력됩니다.

Starting emulator for AVD 'Some name'
emulator: device fd: XXX
HAX is working and emulator runs in fast virt mode

이제 개발 환경이 이전보다 약 100배 빨라진 것을 체감할 수 있습니다. 앱 로딩이 몇 분 걸리던 것이 몇 초 만에 완료됩니다. KVM이나 Xen 같은 가상화 솔루션에서 CPU 가상화 확장 기능을 활용하는 것과 동일한 원리입니다.

결론

여기까지 따라오시느라 고생하셨습니다. 이 튜토리얼 하나로 여러 가지를 배울 수 있습니다. Android SDK Manager를 통한 컴포넌트 관리, 일반적인 가상화 소프트웨어에서 VM을 설정하듯 가상 디바이스를 생성하는 방법, 프로세서의 하드웨어 기능과 확장을 활용한 성능 최적화 등 실질적인 노하우를 익혔습니다.

마지막으로 이 글에 소중한 팁을 공유해 주신 Vova 님께 감사드립니다!