進捗どうですか
以前 Android の Emulator の docker image があると聞いた。
android-developers.googleblog.com
どうも読んでいくと、そもそも Linux で動く Android の Emulator は、Linux の カーネル内で動作する KVM という仮想マシンで動くそうで、これは docker をつかうわけですが、docker guest OS で動作する Android Emulator は docker ホスト OS の kvm を使用するという。
ちなみに docker guest には、タッチイベントなどの入力を扱う gRPC のために envoy という microservice で使う proxy サーバもあるし、nginx で webapp を出力していて、そこで webrtc しているらしい。どうもその二つと Android Emu がやりとりするらしいんだ。ちなみに kvm というのは Intel-vt, amd-vt のような CPU の仮想化支援機能を使いますと。docker のコンテナの仮想化とは違うものです。
Host のハード的な仮想化技術を使うとはいえ、docker の上で仮想マシンが動くわけで、これを Nested Virtualization と呼ぶらしい。
それはいいとして、じゃあまずはローカルで動かしてみようとなったとき、Linux どうするかっていうのがあって、Mac なぼくはしょうがないので VMWare Fusion でやろうとしたわけです。
ビンゴな記事がありました。
docker と docker-compose の install はいいとして、kvm ってどうやっていれんのさ、というのは、公式の Q&A がありました。
あとは python の環境整えたりして、emulator のダウンロード始めたら
OSError: [Errno 28] No space left on device
とかいいやがったので、VM のイメージサイズを拡張した。
boot delay の設定には助かりました。で、サイズが増えたことを確認して、疲れたのでやめました。kvm とか、全然知らんかった。いまはこんなことになっているのね。しかし Android の docker image というから、普通の Linux の上で動いている Android なのかと思ったら、ちょっと違うんじゃないかしら。