오랫동안 많은 사람들이 리눅스에서 안드로이드 앱을 실행하려고 시도해 왔습니다. 당연한 시도이기도 합니다. 안드로이드는 실제로 리눅스 커널을 기반으로 동작하니까요. 그런데 왜 이렇게 어려운 일이었을까요?
리눅스 커널을 제외하면, 리눅스와 안드로이드는 완전히 다른 시스템입니다. 리눅스는 GNU 사용자 환경을 사용하는 반면, 안드로이드는 Java에 크게 의존하는 자체적인 환경을 갖추고 있습니다. 또한 안드로이드는 Play 스토어를 구동하는 도구를 비롯해 구글 고유의 여러 도구에 의존하는데, 이러한 도구들은 리눅스에서 사용할 수 없습니다.
Anbox는 안드로이드 앱과 리눅스 사이에 호환성 계층을 제공함으로써 이 간극을 메우는 것을 목표로 하는 프로젝트입니다. 호스트 시스템의 리눅스 커널을 그대로 사용하면서 자체적인 안드로이드 사용자 공간(userspace)을 생성합니다. 윈도우용 호환성 계층인 Wine과 비슷한 개념이라고 이해하면 쉽습니다.
단, Anbox가 아직 초기 알파(Alpha) 단계라는 점을 반드시 기억해야 합니다. 지금 당장 완벽한 결과를 기대하기는 어렵습니다. 이 글의 목적은 기능과 앱을 실험하고 테스트해 보는 것이며, 과정에서 오류가 발생할 수 있습니다. 시간이 지나면서 프로젝트가 성숙해지면 더 나은 모습을 기대해 볼 수 있습니다.
Anbox 설치하기
우분투를 사용 중이라면 Snap이 이미 설치되어 있을 가능성이 높습니다. Anbox는 Snap 패키지 형태로 배포되므로, 아래 명령어로 간단히 설치할 수 있습니다.
snap install --edge --devmode anbox
Anbox 커널 모듈 설치
Anbox가 정상적으로 작동하려면 몇 가지 전용 커널 모듈이 필요합니다. 해당 모듈은 PPA를 통해 제공되므로, 저장소를 추가한 후 설치하면 됩니다.
sudo add-apt-repository -y ppa:morphis/anbox-support sudo apt update sudo apt install -y anbox-modules-dkms
설치가 완료되면 모듈이 제대로 로드되도록 우분투를 한 번 재시작하는 것이 좋습니다.
Anbox 실행하기
Anbox를 실행하는 과정은 다소 독특합니다. 현재 버전의 런처는 필요한 모든 구성 요소를 자동으로 불러오지 못하기 때문에, 먼저 터미널 창을 열고 다음 명령어를 실행해야 합니다.
anbox session-manager

명령어가 응답하지 않는 것처럼 보일 수 있지만, 실제로는 정상적으로 동작 중인 것입니다. 해당 터미널 창을 그대로 백그라운드에 두고 다음 단계로 넘어가세요.
이제 Unity 또는 사용 중인 데스크톱 환경에서 평소처럼 Anbox를 실행합니다.

몇 초 정도 기다리면 Anbox가 열리고 현재 설치된 앱 목록이 표시됩니다. 구성은 매우 기본적인 수준으로, 파일 관리자나 설정 같은 기본 유틸리티만 있으며 브라우저나 Play 스토어는 포함되어 있지 않습니다.
일단 있는 앱들을 자유롭게 살펴보세요. 대부분 무난하게 작동하며, 안드로이드에 기본 탑재된 앱이라는 것을 바로 알아볼 수 있을 것입니다.
ADB로 앱 패키지 설치하기
그렇다면 실제 안드로이드 앱은 어떻게 설치할 수 있을까요? 아직 과정이 매끄럽지는 않지만, ADB(Android Debug Bridge)를 사용하면 됩니다. 다행히 설정 자체는 어렵지 않습니다.
터미널을 열고 apt로 필요한 패키지를 설치합니다.
sudo apt install android-tools-adb android-tools-fastboot

설치가 끝나면 ApkMirror 같은 사이트에서 안드로이드 앱 패키지(APK)를 다운로드할 수 있습니다. 참고로 스마트폰에서 APK를 추출해 사용하는 방식은 권장되지 않습니다. Anbox는 ARM이 아닌 x86 아키텍처로 실행되기 때문입니다. 앱을 찾을 때 이 점을 반드시 염두에 두어야 합니다.
또한 모든 앱이 작동하는 것은 아니라는 점도 중요합니다. 현재 Anbox에서는 Play 스토어와 Google Play 서비스를 구동할 수 없기 때문에, Play 서비스에 의존하는 앱들은 정상적으로 작동하지 않습니다.
설치할 APK 파일을 준비했다면, Anbox가 실행 중인 상태에서 터미널에 다음 명령어를 입력하세요.
adb install 'name-of.apk'

설치가 완료되면 Anbox 화면에 해당 앱의 아이콘이 나타납니다. 바로 실행해 보세요. 작동할 수도 있고, 그렇지 않을 수도 있습니다. 지금 단계에서 가장 중요한 것은 직접 실험해 보는 것입니다.
마무리 생각
Anbox가 아직 일상적인 사용에는 부족할 수 있지만, 주목하고 테스트해 볼 가치가 충분한 흥미로운 도구임은 분명합니다. 프로젝트가 발전하고 성숙해지면 Anbox는 리눅스에서 안드로이드 앱을 실행하는 가장 좋은 방법이 될 수 있으며, 리눅스 사용자에게 완전히 새로운 애플리케이션 세계를 열어주는 잠재력을 가지고 있습니다.