Dockerで爆速構築!Androidエミュレータをコンテナ化する「HQarroum/docker-android」解説


Dockerで爆速構築!Androidエミュレータをコンテナ化する「HQarroum/docker-android」解説

HQarroum/docker-android

2026-01-02

「Androidのエミュレータを立てるだけでPCが重くなる…」「CI(継続的インテグレーション)でUIテストを自動化したいけど、設定が地獄だ…」そんな胃もたれしそうな状況を、このツールがサクッと軽くしてくれますよ。

どうぞ、じっくり味わってみてください!

この docker-android は、AndroidエミュレータをDockerコンテナの中に閉じ込めたものです。何が嬉しいかと言うと…

「僕の環境では動くのに」からの解放
Dockerさえあれば、誰のPCでも、CIサーバーの上でも、全く同じAndroid環境が立ち上がります。

リソースの節約(ミニマル設計)
このプロジェクトは「ミニマル」であることを売りにしていて、余計なものを削ぎ落としています。メモリ消費を抑えたい現場には最高です。

ヘッドレス(画面なし)動作
サーバー上で動かして、テスト結果だけ受け取るといった「自動化」に特化した使い方が得意です。

まずは、下ごしらえとして Docker がインストールされていることを確認してくださいね。

まずは市場(Docker Hub)から新鮮なイメージを仕入れてきます。

docker pull hqarroum/docker-android

次に、このイメージを火にかけます(実行します)。

docker run -d \
  --device /dev/kvm \
  -p 5555:5555 \
  hqarroum/docker-android

--device /dev/kvm
これが隠し味です!ハードウェア加速を有効にするので、エミュレータが爆速になります(Linux環境で特に有効です)。

-p 5555:5555
Android Debug Bridge (ADB) と通信するためのポートを開けています。

コンテナが立ち上がったら、あなたのPC(ホスト)から繋いでみましょう。

# コンテナ内のAndroidに接続
adb connect localhost:5555

# ちゃんと認識されているか確認
adb devices

例えば、CIパイプラインの中でテストを走らせる際、以下のような設定(JSON)でコンテナ内のエミュレータをターゲットにできます。

{
  "platformName": "Android",
  "automationName": "UiAutomator2",
  "deviceName": "Android Emulator",
  "udid": "localhost:5555",
  "app": "/path/to/your/app.apk"
}

これで、あなたが寝ている間にDockerの中のAndroid君がガシガシとテストをこなしてくれるわけです。素晴らしいですよね!

ネストされた仮想化
クラウド(AWSやGCP)上のVMで動かす場合は、そのインスタンスが「仮想化支援(KVM)」をサポートしている必要があります。これがないと、エミュレータが激重になってしまいます。

アーキテクチャ
お使いのPCがM1/M2 Mac(ARM)の場合は、イメージが対応しているか確認が必要です。このイメージは主にx86_64向けに最適化されていることが多いので。

いかがでしたか?本日の解説。 これを使えば、面倒なエミュレータ管理にサヨナラして、よりクリエイティブなコーディングに集中できるはずです。


HQarroum/docker-android




コード探偵の事件簿:ReVancedが解き明かすアプリのリバースエンジニアリング

皆さん、こんにちは。名探偵の皆さん、お集まりいただきありがとうございます。さて、今回の事件は、とあるAndroidアプリにまつわる、巧妙に仕組まれた密室殺人事件です。被害者は、誰もが知るあの動画配信アプリ。彼は、数々の「制限」という名の鎖に縛られ、身動きが取れない状態にありました。しかし、今宵、その鎖を断ち切り、新たな命を吹き込む「パッチ」という名の秘密道具の存在が明らかになったのです。


逆に、使わないなんて損!Material Symbolsの導入から活用法まで

ソフトウェアエンジニアにとって、どう役に立つ?逆に、UI/UXを考えるときに、いちいちアイコンを自作するのって、めちゃくちゃ面倒じゃないですか?このMaterial Design iconsを使うと、高品質で統一感のあるアイコンを簡単にプロジェクトに組み込めます。デザイナーがいないチームでも、見栄えのいいアプリやウェブサイトが作れちゃいます。


現役エンジニア魔法少女が解説する「バイトボット」入門

今日は、最強の魔法ツール「バイトボット」について、ソフトウェアエンジニアの視点から、その秘密と使い方を特別に教えちゃうよ!バイトボットは、あなたのパソコンを自動で動かしてくれる、賢い魔法の使い魔みたいなもの。物語の始まりは、いつも忙しいソフトウェアエンジニアの魔法少女。バグ退治や新しい魔法の開発で毎日てんてこまい。


エンジニアの禁術。Androidを究極のポータブル開発機に変えるTermuxの世界

今日は、まるで異世界に迷い込んだような…でも実はスマホの中に広がる、エンジニアの桃源郷「Termux」について解説します。Androidスマホの中に、突如としてLinux(Debianベース)の黒い画面が現れる……。それがTermuxです。エミュレータというよりは、Androidの上で直接Linux環境を構築する魔法のツールですね。


DockerでmacOSを動かす!?ソフトウェアエンジニアが知るべき「dockur/macos」の活用法

「dockur/macos」について、ソフトウェアエンジニアの視点から、楽しく、そしてコントのように信じる派と信じない派の議論を交えながら解説していきますね。まず、この「dockur/macos」というものですが、Dockerコンテナの中でmacOSを動かすという、ちょっと聞いただけでは「え?どういうこと?」となる、ユニークなプロジェクトです。


拡張の自由を手に入れろ:Androidマンガアプリ『コタツ』のカスタマイズとエクステンション開発戦略

「Kotatsu」は、ただのマンガビューアではありません。オープンソースで開発されているため、エンジニアにとっては機能拡張や学習の宝庫として非常に魅力的です。Kotatsuを単にユーザーとして使うだけでなく、エンジニアとして「開発」に参加するためのステップをご案内します。


Android画面操作の決定版:escrcpyの導入方法とエンジニア的活用術

(司令官、机を叩いて立ち上がる)「いいか、通信兵!我々ソフトウェアエンジニアの戦場は、今やPCの中だけではない。手元のAndroid端末、テスト用の実機、あちこちに散らばるデバイスをいちいち手に取って、パスコードを打って、デバッグする……。そんなことをしていたら、私のコーヒーは冷め、納期は火の海だ!」


ゲームをどこでも!ラーメン屋に学ぶ「Sunshine」の導入と活用法

想像してみてください。あなたは最高に美味しいラーメンを作る天才的な職人。あなたのラーメン(ゲーム)を求めて、遠くからお客様(Moonlight)がやってきます。お客様 (Moonlight) 「あぁ、あの店のラーメンが食べたい!でも遠いな


【2026年最新】エンジニア必見!Data Engineering Zoomcampで実践的なデータパイプラインを習得しよう

今日はご主人様が気になっている「Data Engineering Zoomcamp」について、メイドの私がエンジニア目線でばっちり解説しちゃいますね。これは、DataTalks. Clubが提供している、「実践的なデータ基盤」をまるごと学べる無料のスパルタ(?)コースなんです。


【鬼軍曹のコンテナ特訓】Dockerの影武者「containerd」を叩き込め!K8s動作の心臓部を徹底解剖

フフフ. .. 覚悟はいいか、貴様!「鬼軍曹の厳しい指導」とやらを希望したな?甘ったれたエンジニアが泣き出すような、スパルタ教育で、この containerd の骨の髄まで叩き込んでやる!まず、貴様は Docker や Kubernetes でコンテナを扱っているんだろう?だがな、その裏で何が動いているか、真正面から向き合ったことはあるのか?