Устройства
Устройство здесь — это Android Virtual Device (AVD) на вашем Mac. Страница показывает одно устройство за раз.
Список устройств
Заголовок раздела «Список устройств»Список слева показывает каждый AVD, который выдаёт emulator -list-avds. Для каждого указаны:
- имя;
- разрешение экрана;
- версия Android;
- состояние: не запущено, загружается (с числом прошедших секунд), запущено или запущено, но не может быть взято под управление;
- кнопка запуска или остановки.
Разрешение, RAM и версия Android берутся из config.ini каждого AVD в ~/.android/avd/<name>.avd/. Если вы задали 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 секунд, запуск завершается ошибкой, и шлюз завершает процесс эмулятора.
Повторное нажатие «Запустить» во время загрузки устройства не запускает вторую копию. Если закрыть страницу во время загрузки и открыть её снова, ход загрузки продолжится.
Остановка устройства
Заголовок раздела «Остановка устройства»Нажмите «Остановить». Шлюз выполняет adb -s emulator-<serial> emu kill.
Уже запущенные эмуляторы
Заголовок раздела «Уже запущенные эмуляторы»Шлюз находит запущенные эмуляторы по файлам, которые эмулятор записывает в ~/Library/Caches/TemporaryItems/avd/running/. Если эмулятор запущен с включённым gRPC, например вы запустили его с -grpc <port>, шлюз подключается к нему вместо запуска ещё одной копии.
Эмулятор, работающий без gRPC, помечается как «запущено, но не может быть взято под управление». Шлюзу нужен gRPC, чтобы читать экран и отправлять ввод. Остановите такой эмулятор и запустите его со страницы.
Когда шлюз останавливается
Заголовок раздела «Когда шлюз останавливается»Остановка шлюза не останавливает эмуляторы. Когда вы снова запустите шлюз, он снова подключится к ним.
Создание устройства
Заголовок раздела «Создание устройства»Если у вас нет ни одного AVD, при первом запуске шлюз предлагает создать emu_web_default: профиль Pixel 5, системный образ arm64 для Android 14 (API 34), 4096 MB RAM, 1080×2340. См. Первый запуск. Устройства также можно создавать с помощью avdmanager или Android Studio; список их подхватит.