Docker 컨테이너로 Android 에뮬레이터 실행

by DD
5개월 전
조회수 22

Android 에뮬레이터를 Docker 컨테이너로 실행하는 이미지

CI/CD 환경에서 Android 앱 테스트 자동화 지원

KVM 지원으로 에뮬레이터 성능 향상 및 다양한 설정 지원

Docker 컨테이너 기반 아키텍처

docker-android는 Alpine Linux를 기반으로 하여 이미지 크기를 최소화했다. 구체적으로 Android 에뮬레이터, ADB 서버, QEMU를 포함하여 에뮬레이터 실행에 필요한 최소한의 구성 요소만 포함한다. 따라서 CI/CD 파이프라인에서 빠르고 효율적인 테스트 환경을 구축할 수 있다. 결과적으로 이미지 빌드 시간리소스 사용량을 줄인다.

KVM 가속을 통한 성능 개선

이 프로젝트는 KVM (Kernel-based Virtual Machine)을 지원하여 에뮬레이터의 성능을 향상시킨다. GPU 가속 옵션을 제공하여 그래픽 성능을 개선할 수 있다. 반면, KVM 사용을 위해서는 호스트 시스템에서 KVM 드라이버가 활성화되어 있어야 한다. 따라서 CI 환경 설정 시 KVM 지원 여부를 확인해야 한다.

CI/CD 환경에서의 활용

docker-android는 헤드리스 모드로 실행되어 CI 환경에 적합하다. 구체적으로 ADB (Android Debug Bridge)를 통해 원격으로 에뮬레이터에 접속하여 테스트를 자동화할 수 있다. 따라서 scrcpy를 사용하여 에뮬레이터 화면을 원격으로 제어할 수도 있다. 결과적으로 다양한 Android 버전기기 설정에 대한 테스트를 자동화할 수 있다.

HQarroum / docker-android