Devices
A device here is an Android Virtual Device (AVD) on your Mac. The page shows one device at a time.
The device list
Section titled “The device list”The list on the left shows every AVD that emulator -list-avds reports. For each one it shows:
- the name;
- the screen resolution;
- the Android version;
- the state: not running, booting (with seconds elapsed), running, or running but cannot be taken over;
- a start or stop button.
Resolution, RAM and Android version come from each AVD’s config.ini in ~/.android/avd/<name>.avd/. If you set ANDROID_AVD_HOME, the gateway reads that directory instead. If a field is missing from config.ini, it is left blank.
Start a device
Section titled “Start a device”Click start next to a device. The gateway runs:
emulator -avd <name> -no-window -grpc <port> -no-boot-anim -gpu host-no-windowmeans no separate emulator window opens. The screen appears only in the page.- The gRPC port is the first free even port from
8554upward. - The device counts as booted when
adb -s emulator-<serial> shell getprop sys.boot_completedreturns1. The page shows progress until then. - If the device has not booted after 180 seconds, the start fails and the gateway ends the emulator process.
Clicking start again while a device is booting does not start a second copy. If you close the page during boot and open it again, the progress continues.
Stop a device
Section titled “Stop a device”Click stop. The gateway runs adb -s emulator-<serial> emu kill.
Emulators that are already running
Section titled “Emulators that are already running”The gateway finds running emulators through the files the emulator writes in ~/Library/Caches/TemporaryItems/avd/running/. If an emulator is running with gRPC enabled, for example one you started with -grpc <port>, the gateway connects to it instead of starting another copy.
An emulator that runs without gRPC is marked “running but cannot be taken over”. The gateway needs gRPC to read the screen and send input. Stop that emulator and start it from the page.
When the gateway stops
Section titled “When the gateway stops”Stopping the gateway does not stop emulators. When you start the gateway again, it connects to them again.
Create a device
Section titled “Create a device”If you have no AVD, the gateway offers on first run to create emu_web_default: Pixel 5 profile, arm64 system image for Android 14 (API 34), 4096 MB RAM, 1080×2340. See First run. You can also create devices with avdmanager or Android Studio; the list picks them up.