AndroidのエミュレーターとしてはBlueStacksやLDPlayer、Genymotionなどがありますが、いずれもホストOSとカーネルを共有しない仮想化方式を採用しているため、オーバーヘッドが生じてしまいます。無料でオープンソースの「Anbox」は、カーネル部分をホストOSのLinuxと共有するコンテナ形式を採用し、軽快な動作を目指したAndroidエミュレーターです。

Anbox - Android in a Box

https://anbox.io/



AnboxはSnapパッケージマネージャーで配布されており、以下のコマンドを実行すればインストールすることができます。なお、今回はUbuntu 20.04でAnboxを利用しています。

sudo snap install --devmode --beta anbox


インストールが完了するとアプリケーション一覧にAnboxのアイコンが表示されるので、クリックして起動。



Anboxのアプリケーション管理画面が表示されました。ステータスバーやホームボタンなどがない、アプリを起動するだけのシンプルな画面です。



「電卓」アプリや……



「カレンダー」



「時計」といったアプリを利用することが可能。



「WebView Browser Tester」というブラウザから、ウェブサイトを閲覧することもできます。



アプリを2画面で同時に起動することも可能。



ただし、すべてのアプリが正常に動作するわけではなく、「ギャラリー」アプリは起動しても真っ暗な画面が表示されるだけでした。



また「音楽」アプリは起動すらせず、Anboxが強制的に再起動されてしまいました。



「設定」を開くと、通常のAndroidと同じ設定項目が確認できます。



内部ストレージを確認すると、ホストのストレージ情報が表示されました。



RAM容量もストレージと同じく、ホストのRAM情報が表示されます。



Anboxを動かしているPCにバッテリーはありませんが、バッテリー残量は42%と表示されていました。



AnboxのAndroidバージョンは7.1.1となっており、かなり古め。



バージョンの項目を連打すると、通常のAndroidと同じくイースターエッグが表示されました。



Anboxは動作しないアプリがあることに加えて、かなりバグが含まれている模様。例えば音声の設定を行おうとすると、以下のスクリーンショットのように、ウィンドウの一部がAnbox終了後も残ってしまいました。



AnboxにはGoogle Playストアが含まれていないため、自分でGoogle Playストアをインストールする必要があります。インストールスクリプトが有志によって公開されているため、今回は以下のコマンドを実行してPlayストアをインストールしました。

wget https://raw.githubusercontent.com/geeks-r-us/anbox-playstore-installer/master/install-playstore.sh
sudo chmod +x install-playstore.sh
sudo ./install-playstore.sh


コマンドを実行すると、Open GAppsからGoogle PlayストアとGoogle Play開発者サービスがインストールされ、Wi-FiやBluetoothなどの設定項目が加わります。



インストールが完了すると、アプリ一覧にGoogle Playストアが追加されます。



しかし、Google Playストアを利用するには、Google PlayストアとGoogle Play開発者サービスの権限を変更する必要があります。まずは設定の「Apps」をクリック。



「Google Play services」をクリックして……



「Permissions」をクリック。



すべての権限をオンにします。



Google Playストアも同様にして、すべての権限をオンに変更。



アプリ画面からGoogle Playストアを起動し「Sign in」をクリック。



Googleアカウントのメールアドレスを入力し「Next」をクリックして……



パスワードを入力しもう一度「Next」をクリック。



「ACCEPT」をクリックすれば、Google Playストアの設定は完了です。



こんな感じで、Google Playストアの画面が表示されました。



試しにGoogle Playストアから「Google Chrome」をインストールしてみます。



インストールが完了するとアプリ一覧にアイコンが表示されるので、クリックしてChromeを起動します。



無事Chromeが起動しました。Google Discoverも表示されています。



しかし、Google Discoverのニュースをクリックしても、ソースとなるウェブサイトにアクセスすることはできませんでした。Google検索なども行えず、Chromeのホーム画面しか表示できないという結果に。



「Firefox」アプリもインストールしてみましたが、ウェブサイトを表示することはできませんでした。



「YouTube」アプリをインストールしてムービーの再生を試みたところ、エラー画面が表示され、ムービーも再生できず。



「Googleマップ」アプリもFirefoxと同じく真っ暗な画面が表示されるだけでした。Anboxで動作するアプリは非常に限定的なようです。



また、スクリプト実行で新しく追加されたWi-FiやBluetoothといった設定項目を開いてみると、フリーズしてAnboxを終了できなくなってしまいました。



こんな感じで、AnboxはLinuxカーネルをホストと共有するAndroidエミュレーターとしては興味深いプロジェクトですが、動作しないアプリやバグが多く、記事作成時点では実用に耐えるものではないと感じました。

なお、このAnboxをクラウド上で動作させる「Anbox Cloud」というプロジェクトが、Ubuntuの開発元であるCanonicalによって進められています。

Anbox Cloud - Scalable Android in the cloud

https://anbox-cloud.io/