Anbox: 리눅스에서 안드로이드 앱 사용하기

반응형

Anbox(androd in box)

https://anbox.io/

Anbox는 가상 환경에서 안드로이드를 시뮬레이팅 하지 않고, 리눅스 커널 위에 안드로이드 호환 레이어를 제공합니다. 호환 레이어 방식은 해당 OS의 API를 모방하여 개발한 것이기 때문에 네이티브에 가까운 성능을 낼 수 있습니다.
Anbox는 꽤 많은 안드로이드 앱을 실행할 수 있습니다. 그리고 OpenGL ES 드라이버를 포함하고 있어서 안드로이드 게임도 실행할 수 있습니다.
하지만 Anbox는 낮은 안드로이드7 버전을 가지고 있어서 최신 게임을 구동하는 것은 불가능합니다.

_

설치 환경

우분투 버전 18에서 설치하고 테스트 하였습니다.
ubuntu-18.04.6-desktop-amd64

_

커널 모듈 설치하기

Android 컨테이너를 구동하기 위해서는 ashmem과 binder가 필수입니다. Anbox 홈페이지는 kernel_module를 설치하는 방법을 안내하고 있습니다. 하지만 그 방법으로는 설치가 되지 않아서, 스택오버플로우에서 찾은 방법으로 설치했습니다.

$ sudo apt update
$ sudo apt install git dkms
$ git clone https://github.com/anbox/anbox-modules.git
$ cd anbox-modules
$ sudo ./INSTALL.sh

anbox-modules 패키지 설치가 끝나고 나면 커널 모듈을 로드합니다.

$ sudo modprobe ashmem_linux
$ sudo modprobe binder_linux

이제 시스템 /dev 디렉토리에는 두 개의 새로운 노드가 존재하게 됩니다.

$ ls -1 /dev/{ashmem,binder}
/dev/ashmem
/dev/binder

_

Anbox 설치하기

Anbox는 snap으로 설치할 수 있습니다. 다른 배포 방법은 공식적으로 제공하지 않습니다. 우분투는 snap이 기본적으로 설치가 되어 있기 때문에, 우분투에서는 snap으로 anbox를 쉽게 설치할 수 있습니다.

$ sudo snap install --devmode --beta anbox

Anbox를 업데이트하려면 다음과 같이 입력합니다.

$ sudo snap refresh --beta --devmode anbox

Anbox 설치가 완료되면 앱 서랍에서 Anbox Application Manager를 볼 수 있습니다.

_

안드로이드 apk 설치하기

Anbox는 Android에서 제공하는 사이드로딩 기능을 사용하여 안드로이드 앱(apk) 설치가 가능합니다. 이를 위해서는 호스트 시스템에 Android debug bridge(adb)를 설치해야 합니다.

$ sudo apt install android-tools-adb

Anbox는 기본적으로 Android 앱을 검색해서 설치할 수 있는 기능을 제공하지 않습니다. apk 패키지는 인터넷에서 다운로드 받든 지, 또는 스마트폰에서 추출하는 방법으로 구해야 합니다. apk 패키지가 있으면 다음 명령을 사용하여 Anbox의 Android 컨테이너에 설치할 수 있습니다.

$ adb install my-app.apk

Anbox의 Android 컨테이너가 실행 중이 아닌 경우에는 앱 설치를 할 수 없기 때문에, 터미널에서 Anbox Application Manager을 실행하여 로드할 수 있습니다.

$ anbox.appmgr

_

구글 플레이 스토어 설치하기

apk로 설치하는 방법은 매우 불편합니다. 그래서 geeks-r-us.de 팀에서 구글 플레이 스토어를 Anbox에 설치할 수 있는 스크립트를 개발하여 공개하고 있습니다.

다음과 같이 입력하여 설치합니다.

$ sudo apt install lzip curl
$ wget -O -  https://raw.githubusercontent.com/geeks-r-us/anbox-playstore-installer/master/install-playstore.sh | bash

이제 Anbox를 실행하면 Google Play Store 앱이 설치되어 있습니다.

그리고 Setting에 들어가 보면 Android Version이 7.1.1인 것을 확인할 수 있습니다.

fly~

반응형