コンテンツにスキップ

デバイス

ここでいうデバイスとは、Mac 上の Android 仮想デバイス(AVD)のことです。ページは一度に 1 つのデバイスを表示します。

左側のリストには、emulator -list-avds が報告するすべての AVD が表示されます。各項目には次の情報が表示されます。

  • 名前;
  • 画面解像度;
  • Android バージョン;
  • 状態:未起動・起動中(経過秒数付き)・起動済み・起動済みだが引き継ぎ不可;
  • 起動または停止ボタン。

解像度・RAM・Android バージョンは、~/.android/avd/<name>.avd/ の各 AVD の config.ini から取得します。ANDROID_AVD_HOME を設定している場合、ゲートウェイはそのディレクトリを読み込みます。config.ini にフィールドが存在しない場合は空白になります。

デバイスの横にある起動ボタンをクリックします。ゲートウェイは次のコマンドを実行します。

ターミナルウィンドウ
emulator -avd <name> -no-window -grpc <port> -no-boot-anim -gpu host
  • -no-window は独立したエミュレーターウィンドウを開かないことを意味します。画面はページにのみ表示されます。
  • gRPC ポートは 8554 から始まる最初の空き偶数ポートです。
  • adb -s emulator-<serial> shell getprop sys.boot_completed が 1 を返したとき、デバイスは起動済みと見なされます。それまでページに進捗が表示されます。
  • 180 秒以内に起動しない場合、起動は失敗し、ゲートウェイはエミュレータープロセスを終了します。

デバイスの起動中に再度起動ボタンをクリックしても、2 つ目のコピーは起動しません。起動中にページを閉じて再度開いた場合、進捗は続きます。

停止ボタンをクリックします。ゲートウェイは adb -s emulator-<serial> emu kill を実行します。

すでに起動中のエミュレーター

Section titled “すでに起動中のエミュレーター”

ゲートウェイは、エミュレーターが ~/Library/Caches/TemporaryItems/avd/running/ に書き込むファイルを通じて起動中のエミュレーターを検出します。gRPC が有効なエミュレーター(例:-grpc <port> で起動したもの)が動いている場合、ゲートウェイは別のコピーを起動せずにそれに接続します。

gRPC なしで起動しているエミュレーターは「起動済みだが引き継ぎ不可」と表示されます。ゲートウェイが画面を読み取って入力を送るには gRPC が必要です。そのエミュレーターを停止し、ページから起動し直してください。

ゲートウェイを停止してもエミュレーターは停止しません。次回ゲートウェイを起動すると、再び接続されます。

AVD がない場合、ゲートウェイは初回起動時に emu_web_default の作成を提案します(Pixel 5 プロファイル、Android 14(API 34)の arm64 システムイメージ、4096 MB RAM、1080×2340)。初回起動を参照してください。avdmanager または Android Studio でデバイスを作成することもでき、リストに自動的に表示されます。