CLOUSD
Создать аккаунт
Сравнения

Эмулятор Android в браузере: сравниваем 5 способов

Что на самом деле работает, когда вы открываете Android во вкладке браузера, пять способов туда попасть и какой из них подходит для демо, тестовой сессии или телефона на месяцы.

Эмулятор Android в браузере может означать две очень разные вещи. Либо сама вкладка эмулирует телефон, либо вкладка — это окно в Android, который работает где-то ещё: экран передаётся вам потоком, а ваши клики уходят обратно. Для любой актуальной версии Android работает только второй вариант.

Но и при этом остаётся пять практических способов, от эксперимента на выходные до телефона, которым вы пользуетесь месяцами. Ниже о том, что запускает каждый из них, сколько сил уходит на настройку и кому он подходит, а в конце таблица, где они стоят рядом.

1. Эмуляция внутри вкладки

WebAssembly позволил скомпилировать эмулятор ПК так, чтобы он работал внутри веб-страницы. Самый известный пример — v86: он эмулирует 32-битный x86-компьютер и загружает во вкладке небольшие Linux-системы и старые операционные системы. Проекты этого семейства — впечатляющая инженерная работа, и попробовать их интересно.

Но запустить актуальный Android так нельзя. Современной системе Android нужны гигабайты памяти, быстрый процессор и GPU, а у эмулятора, работающего внутри JavaScript-движка, такого запаса нет. Я не знаю ни одного проекта, который запускал бы актуальный релиз Android во вкладке с приемлемой скоростью, так что к обещаниям «полноценный Android в браузере, ничего не ставится и ничего не стримится» относитесь с подозрением.

2. Свой эмулятор с трансляцией в браузер

Если у вас есть Linux-сервер с KVM, собственные инструменты Google умеют выводить экран эмулятора во вкладку браузера.

  • Android Emulator в контейнере. Открытые скрипты Google android-emulator-container-scripts упаковывают эмулятор в Docker и добавляют мост WebRTC с небольшим веб-интерфейсом.
  • Cuttlefish. Серверное виртуальное устройство Google само отдаёт интерфейс по WebRTC. Когда устройство запущено, его экран и управление открываются в браузере, по умолчанию на порту 8443 хоста.
HOME=$PWD ./bin/launch_cvd --daemon
adb devices

Этот путь построен на свободном ПО и даёт полный контроль, включая ADB к каждому экземпляру. Расплата — хост: KVM, образы, обновления, TLS, аутентификация и планирование мощностей полностью на вас. Это подходит командам, у которых уже есть Linux-инфраструктура и которые хотят держать эмуляторы внутри своей сети.

3. Облачная трансляция эмуляторов

Несколько сервисов запускают эмуляторы за вас и транслируют их на страницу, часто в виде встраиваемого плеера. Они сделаны для превью приложений: демо на лендинге, интерактивный скриншот в документации, сотрудник поддержки, который проводит клиента по настройкам, ревьюер, открывающий сборку без установки.

Сессии обычно короткие и каждый раз начинаются с чистого образа, а устройство — типовой профиль эмулятора. Для демо это идеально, а для всего, что зависит от модели телефона или от состояния, которое должно дожить до завтра, это ограничение.

4. Облака настоящих устройств

Облака устройств держат стойки физических телефонов и транслируют их вам в браузер. Вы получаете настоящий аппарат: прошивку и оболочку производителя, камеру, GPU и батарею. Ближе к телефону в руке, не покупая его, не подобраться.

Компромиссы следуют из общего доступа к железу. Сессии ограничены по времени, после вашего ухода телефон обычно стирают, популярные модели бывают заняты, а цена отражает стоимость содержания физических устройств. Device Streaming в Android Studio устроен так же, но транслирует физические телефоны не в браузер, а в IDE, и часто именно это нужно разработчику, который ищет эмулятор в браузере.

5. Облачные телефоны

Облачный телефон — это Android в дата-центре, настроенный как конкретная модель телефона и закреплённый за вами, как устройство. Вы открываете его экран в браузере, управляете мышью и клавиатурой и возвращаетесь к нему позже: приложения, входы в аккаунты и данные остаются, пока вы его не сбросите.

Так работает Clousd: телефоны на 150+ моделях настоящих аппаратов с Android с 12 по 17, готовые примерно за минуту, а рядом с экраном в браузере есть REST API, MCP-сервер для ИИ-агентов и ADB через реле. Ограничения те же, что у любого виртуализированного телефона: нет настоящей камеры и датчиков, а производительность графики не отражает физическое устройство. Что доступно, видно в списке моделей.

Все пять бок о бок

Эмуляция во вкладкеСвой сервер с трансляциейОблачная трансляция эмулятораОблако настоящих устройствОблачный телефон
Что работаетэмулятор внутри вкладкиAndroid Emulator или Cuttlefish на вашем сервереAndroid Emulator на их серверефизические телефоныAndroid на серверах, настроенный как модель телефона
Актуальный Androidнетдададада
Каким устройством представляетсянеприменимотиповымтиповымнастоящим телефономвыбранной моделью
Настройкане нужнаLinux-хост с KVMне нужнане нужнане нужна
Состояние между сессияминетесли сохранитеобычно нетобычно стираетсяхранится
ADBнетдазависит от сервисаобычно даобычно да, через реле
Лучше всего длялюбопытствасобственного паркадемо и превьютестов под конкретное железотестирования, долгоживущих телефонов, агентов

Подробнее о том, чем эмулятор на сервере отличается от телефона на модели настоящего аппарата, читайте в статье об облачном эмуляторе Android.

Что проверить перед выбором

  • Задержка. Каждое касание летит на сервер, а новый кадр возвращается обратно. Расстояние важнее пропускной способности: сервер на другом континенте добавляет задержку, которую чувствуешь на каждом свайпе. Серверы Clousd находятся в ЕС, во Франкфурте и Хельсинки, поэтому быстрее всего отклик из Европы.
  • Ввод. Попробуйте печатать с клавиатуры, вставить текст из буфера обмена, сделать щипок и действие «назад». Именно здесь браузерные сессии отличаются сильнее всего.
  • Google Play. Образы эмулятора бывают с Play и без; на физических устройствах он есть; у облачных телефонов зависит от провайдера. Если тесту нужны сервисы Play, проверьте это до начала.
  • Логи. Сессия только в браузере покажет падение, но не его причину. Убедитесь, что у вас есть доступ к logcat, лучше всего через ADB. Как это выглядит с реле, показано в документации по ADB.
  • Куда уходит ваша сборка. Загружая APK в сервис, который нельзя идентифицировать, вы отдаёте код незнакомцу. Никогда не загружайте сборку с продакшен-ключами внутри.

Что выбрать под задачу

  • Показать приложение клиенту или ревьюеру: облачная трансляция эмулятора или облачный телефон, если к нему нужно будет вернуться.
  • Проверить вёрстку на телефонах ваших пользователей: облачный телефон или облако настоящих устройств.
  • Камера, датчики, производительность: облако настоящих устройств или телефон на вашем столе.
  • Эмуляторы внутри своей сети: свой Cuttlefish или контейнер с эмулятором.
  • Телефон на недели или телефон для ИИ-агента: облачный телефон.
  • Отладить приложение, которое вы пишете: ничего из перечисленного. Берите эмулятор в Android Studio на своём компьютере.

Если вы собираетесь провести первую тестовую сессию, гайд о тестировании Android-приложения онлайн проведёт через установку, логи и повторяемый smoke-тест.

Бесплатные варианты

Эмуляция во вкладке бесплатна, но актуальный Android не запускает. Свой сервер с трансляцией — это бесплатное ПО на железе, за которое вы платите и которое обслуживаете. Облака настоящих устройств и сервисы облачных эмуляторов дают ограниченные бесплатные тарифы или пробные периоды. Облачные телефоны обычно тоже предлагают пробный период: бесплатный облачный телефон даёт 30 минут без карты. Самый короткий путь от ссылки до работающего приложения описан на странице Android-эмулятор онлайн.

Читайте также

Все гайды

Готовы запустить
свой первый облачный телефон?

Попробовать 30 минут бесплатно

Карта не нужна