Serve-avd транслирует Android Emulator на веб-страницу. Он захватывает экран эмулятора через
adb screenrecord, предоставляет его в виде потока H.264 WebCodecs (с резервным вариантом MJPEG) плюс канал управления WebSocket и отображает в браузере. Он работает с любым запущенным эмулятором Android (и большинством физических устройств через adb) — без root-прав, без плагинов, без инструментов в вашем приложении.Фичи:
• Плавный видеопоток H.264 в браузере (WebCodecs) с мгновенной отрисовкой при подключении — без ожидания следующего кадра
• Полное взаимодействие: касание, перетаскивание и перемещение мышью, прокрутка колесиком
• Навигация Android из браузера: Назад, Домой, Недавние, питание, громкость, переключение тем, скриншот
• Переадресация клавиатуры — ввод текста непосредственно в эмулятор, клавиша Escape — «Назад», ⌘⇧H — «Домой»
• logcat перенаправляется в браузер (и отображается в консоли браузера для чтения инструментами MCP, используемыми в браузере)
• Недавние действия доступны на панели инструментов браузера и в журнале событий serve-avd
• Вывод иерархии пользовательского интерфейса для агентов: serve-avd ax (uiautomator → JSON)
• Несколько эмуляторов одновременно — загрузка и подключение AVD прямо с панели «Устройства»
• Работает в headless режиме через тот же HTTP API, если браузер не подключен
Размещенные эмуляторы сложно тестировать. serve-avd позволяет сначала протестировать размещенную инфраструктуру локально для более быстрой итерации. Когда вы будете готовы разместить эмулятор удаленно, просто туннелируйте обслуживаемый URL-адрес, и пользователи смогут взаимодействовать с эмулятором, как если бы он работал локально на их устройстве. Это также отличный способ передать эмулятор агенту ИИ: всё управляется по протоколу HTTP + WebSocket, скриншоты и дампы пользовательского интерфейса создаются одной командой, а журнал событий показывает, что сделал агент.
Serve-avd на GitHub: https://github.com/hsandhu/serve-avd
Платформа: Android
⭐️: 4
👨🦯➡️ AppFiles: код, инструменты, практики, производительность