コンテンツにスキップ

Android エミュレーターをブラウザでスムーズに動かす。

コマンド一つでインストール完了。Android Studio 不要。

ホーム画面
ライブデモ

ブラウザのタブで動くエミュレーター

画面を選ぶか、横にスワイプしてください。Mac 上でのクリックとドラッグがすべて実際のエミュレーターに伝わります。

仕組み

3 つのプログラム、すべて Mac 上で

ゲートウェイは gRPC と共有メモリを使って公式 Android エミュレーターからフレームを読み取り、127.0.0.1 上の WebSocket でページに送ります。タップ・スワイプ・キー入力は同じ経路で返ります。

  • ブラウザChrome または Edge のタブ
  • ゲートウェイandroid-emu-web(127.0.0.1 上)
  • エミュレーター公式 Android エミュレーター
  • 画面フレーム:生の RGBA を共有メモリ経由で、次に WebSocket で転送
  • タップ・スワイプ・キー:WebSocket 経由で、次に gRPC で転送
フレームレートの中央値
60fps
タップ遅延 p50
20ms
タップ遅延 p90
30ms

M4 搭載 Mac、Pixel 5 API 34 仮想デバイス(1080×2340)、Chrome 157、rgba-mmap フレーム転送方式で、16 回連続スワイプと 30 回タップにより計測。実際の値は Mac・デバイス・ブラウザによって異なります。 実測パフォーマンス

機能紹介

エミュレーターウィンドウで使えるすべての機能

使う理由

確認できる事実

  1. 127.0.0.1

    フレームは Mac の外に出ない

    ゲートウェイはループバックアドレスのみをリッスンします。他のコンピューターからはアクセスできず、フレームがインターネットを通ることもありません。

    セキュリティ
  2. SDK

    公式 Android エミュレーター

    Google のエミュレーターと Android SDK のシステムイメージを使用します。Android Studio と同じものです。すでに SDK がある場合、ゲートウェイはそれを使用します。

    動作要件
  3. 1.24×

    CPU 使用率は scrcpy と近い水準

    M4 搭載 Mac(Pixel 5 API 34 仮想デバイス、1080×2340、Chrome 157、rgba-mmap 転送)で 16 回連続スワイプを計測したところ、エミュレーター・ゲートウェイ・Chrome の合計 CPU 使用率は 257% でした。同条件の scrcpy は 208% でした。

    実測パフォーマンス
  4. MIT

    オープンソース

    ゲートウェイとページのすべてのコードが MIT ライセンスで GitHub 上に公開されています。

    github.com/twosugar/android-emu-web
比較

他のエミュレーター表示方法との違い

確認できる違いのみを記載します。各ツールにはそれぞれの得意分野があります。

質問android-emu-webAndroid Studio エミュレーターscrcpyクラウドエミュレーター(例: Appetize)
Android の実行場所Mac 上の公式エミュレーターMac 上の公式エミュレーター接続したデバイスまたはエミュレーターベンダーのサーバー
表示場所Chrome または Edge のタブAndroid Studio の実行デバイスウィンドウ、またはエミュレーター自身のウィンドウデスクトップアプリのウィンドウブラウザのタブ
Android Studio が必要か不要(ゲートウェイ・エミュレーター・システムイメージが必要)必要(実行デバイスビューに使用)不要不要
フレームの転送方法生の RGBA フレームを 127.0.0.1 経由で転送エミュレーターウィンドウまたは Android Studio(ともに Mac 上)H.264 動画動画をインターネット経由で転送
料金無料・MIT ライセンス無料無料・Apache-2.0 ライセンス有料プラン
はじめる

3 ステップで最初のフレームを表示

  1. Mac を確認する

    Apple Silicon Mac、Chrome または Edge、arm64 システムイメージ入りの Android エミュレーターが必要です。

    動作要件
  2. ゲートウェイをインストール

    ターミナルでこのコマンドを実行します。~/.local/bin に単一の実行ファイルが保存されます。

    curl -fsSL https://droid.devpier.dev/install.sh | sh

    インストールガイド
  3. 起動する

    android-emu-web を実行します。ブラウザでページが開き、起動中のエミュレーターが表示されます。

    初回起動