Перейти к содержимому

Эмулятор Android — плавно, прямо в браузере.

Установка одной командой. Android Studio не требуется.

Главный экран
Живая демонстрация

Ваш эмулятор во вкладке браузера

Выберите экран или проведите в сторону. На вашем Mac каждый щелчок и каждое перетаскивание попадают в настоящий эмулятор.

Как это работает

Три программы, и все на вашем Mac

Шлюз читает кадры из официального эмулятора Android через gRPC и общую память и отправляет их на страницу по WebSocket на 127.0.0.1. Касания, свайпы и нажатия клавиш идут обратно тем же путём.

  • БраузерВкладка Chrome или Edge
  • Шлюзandroid-emu-web на 127.0.0.1
  • ЭмуляторОфициальный эмулятор Android
  • Кадры экрана: необработанный RGBA через общую память, затем WebSocket
  • Касания, свайпы и клавиши: WebSocket, затем gRPC
Медианная частота кадров
60fps
Задержка касания p50
20ms
Задержка касания p90
30ms

Измерено на Mac с M4 с виртуальным устройством Pixel 5 API 34 (1080×2340) в Chrome 157, транспорт кадров rgba-mmap, 16 свайпов подряд и 30 касаний. Ваши показатели зависят от вашего Mac, устройства и браузера. Измеренная производительность

Что он умеет

Всё, чем вы пользуетесь в окне эмулятора

Зачем он нужен

Факты, которые можно проверить

  1. 127.0.0.1

    Кадры остаются на вашем Mac

    Шлюз слушает только loopback. Другие компьютеры не могут к нему подключиться, и ни один кадр не уходит в интернет.

    Безопасность
  2. SDK

    Официальный эмулятор Android

    Он запускает эмулятор и системные образы Google из Android SDK — те же, что использует Android Studio. Если SDK у вас уже есть, шлюз использует его.

    Требования
  3. 1.24×

    Нагрузка на CPU близка к scrcpy

    Во время 16 свайпов подряд на Mac с M4 (виртуальное устройство Pixel 5 API 34, 1080×2340, Chrome 157, транспорт rgba-mmap) эмулятор, шлюз и Chrome вместе использовали 257% CPU. scrcpy, измеренный тем же способом с тем же эмулятором, использовал 208%.

    Измеренная производительность
  4. MIT

    Открытый исходный код

    Каждая строка кода шлюза и страницы опубликована на GitHub под лицензией MIT.

    github.com/twosugar/android-emu-web
Сравнение

Чем он отличается от других способов увидеть эмулятор

Только различия, которые можно проверить. Каждый инструмент хорош в том, для чего он создан.

Вопросandroid-emu-webЭмулятор Android StudioscrcpyОблачные эмуляторы (например, Appetize)
Где работает AndroidОфициальный эмулятор на вашем MacОфициальный эмулятор на вашем MacПодключённое вами устройство или эмуляторСерверы поставщика
Где вы его видитеВкладка Chrome или EdgeОкно Running Devices в Android Studio или собственное окно эмулятораОкно настольного приложенияВкладка браузера
Нужна ли Android StudioНет; нужны шлюз, эмулятор и системный образДа, для представления Running DevicesНетНет
Как передаются кадрыНеобработанные кадры RGBA через 127.0.0.1Окно эмулятора или Android Studio, оба на вашем MacВидео H.264Видео через интернет
ЦенаБесплатно, лицензия MITБесплатноБесплатно, лицензия Apache-2.0Платные тарифы
Начать

Три шага до первого кадра

  1. Проверьте свой Mac

    Mac на Apple Silicon, Chrome или Edge и эмулятор Android с системным образом arm64.

    Требования
  2. Установите шлюз

    Выполните это в Терминале. Команда сохранит один исполняемый файл в ~/.local/bin.

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

    Руководство по установке
  3. Запустите его

    Выполните android-emu-web. Он откроет страницу в браузере и покажет запущенный эмулятор.

    Первый запуск