В последнее время эмуляция ОС Android на компьютере стала очень популярной. Пользователям зачастую необязательно знать принципов работы, достаточно просто скачать из Интернета специальный эмулятор с уже установленной ОС на борту и запустить его, благо эмуляторов сейчас существует большое множество. Единственное, что должен учесть пользователь, это то, соответствует ли его компьютер системным требованиям эмулятора.
Существует много разных причин, по которым люди используют эмуляторы Android. Кто-то играет на эмуляторе в мобильные игры, кто-то пользуется возможностями Android, недоступными на реальном устройстве, а кому-то просто нравится пользоваться мобильными приложениями на своём компьютере. Для разработчиков приложений эмуляторы тоже очень полезны, поскольку позволяют тестировать приложение на разных конфигурациях и отлаживать его работу.
Главным преимуществом эмулятора при тестировании является то, что он даёт мгновенный доступ к любой версии Android или любому устройству, на котором нужно проверить работу приложения. Кроме того, разработчику не нужно волноваться по поводу того, что эмулятор перестанет корректно работать – в этом случае достаточно будет просто сбросить его до базовых параметров.
К недостатку такого подхода можно отнести то, что у разработчика нет возможности увидеть, как приложение действительно выглядит на устройстве, например, с AMOLED дисплеем. Также у эмуляторов нет доступа к некоторым аппаратным функциями реальных устройств.
В этой статье мы рассмотрим, как работать с родным эмулятором от Android Studio, а также рассмотрим несколько сторонних эмуляторов.
Эмулятор Android Studio
Эмулятор Android от Google на протяжении этих лет прошёл долгий путь. Когда-то он был проклятием в жизни разработчика, демонстрируя самые главные недостатки среды разработки. Безумно медленный инструмент с огромным нереализованным потенциалом, призванным улучшить жизнь разработчика.
Но за последние годы Google сильно потрудился над своим эмулятором и превратил его в один из лучших инструментов для разработки: быстрый, гибкий и полезный при тестировании и отладке приложений.
Эмулятор Android может имитировать работу смартфона, планшета, часов Wear OS и устройств Android TV. Он содержит в себе конфигурации популярных типов устройств и работает быстрее, чем реальное устройство, подключенное по USB.
С его помощью можно имитировать входящие звонки и сообщения, указывать местоположение, тестировать различные скорости мобильного интернета, повороты экрана и различные датчики, как у реального устройства. Однако не все возможности поддерживаются эмулятором, в частности он не поддерживает следующее:
- Bluetooth
- NFC
- Работу с SD-картой
- Работу с наушниками
- USB
Поэтому если вам нужно протестировать что-то из вышеперечисленного, то придётся воспользоваться реальным устройством, в остальном же эмулятор полностью повторяет функционал.
Примечание: что касается эмулятора Wear OS, то он не поддерживает кнопку Обзор (Последние приложения), D-pad и датчик отпечатков пальцев.
Каждый экземпляр эмулятора использует AVD (Android Virtual Device). AVD – это конфигурация, которая определяет характеристики устройства, который нужно эмулировать: форм-фактор, версию Android и различные характеристики. Он содержит следующие компоненты:
- Профиль устройства
Профиль устройства определяет характеристики устройства, которое нужно эмулировать. Менеджер AVD содержит в себе несколько предустановленных профилей (такие устройства, как Nexus и Pixel), но также позволяет создавать свои собственные. Кроме того, некоторые профили включают Google Play, такие профили полностью совместимы с CTS и позволяют использовать образы системы с установленным приложением Google Play. - Образ системы
Содержит нужную версию Android. Для полноты тестирования лучше всего создавать AVD для каждой версии Android, которую поддерживает приложение. Некоторые образы системы помечены надписью Google APIs: это означает, что они включают в себя доступ к сервисам Google Play. Если же образы помечены как Google Play, то кроме сервисов Google Play они включают также само приложение Google Play. - Область хранения
AVD имеет специальную область хранения на компьютере. В ней хранятся пользовательские данные, данные устройства, такие как установленные приложения и настройки, а также эмулированная SD-карта. Если есть такая необходимость, с помошью Менеджера AVD можно удалять с эмулятора пользовательские данные, приводя ему к “заводскому” виду. - Скин
Скин нужен для того, чтобы задать устройству внешний вид. Менеджер AVD содержит несколько предустановленных скинов, также имеется возможность использовать сторонние скины.
Для того, чтобы создать новый AVD, нужно запустить AVD Manager. Для этого нужно в Android Studio в меню выбрать Tools – AVD Manager. Откроется окно менеджера, в котором будет отображаться список созданных эмуляторов.
Чтобы создать новый эмулятор, нужно нажать на Create Virtual Device в Менеджере AVD. Откроется окно, в котором будет предложено выбрать тип устройства и профиль.
После того, как будет выбран профиль, нужно нажать на Next для перехода далее. Здесь нужно выбрать, какой образ системы использовать.
На вкладке Recommended перечислены рекомендуемые образы системы. Другие вкладки содержат более полный список доступных образов. Справа приводится информация о выбранном образе (уровень API, версия).
Примечание: образы x86 работают на эмуляторе быстрее всего.
Уровень API важен, поскольку если он будет меньше, чем тот, что указан в манифесте приложения, приложение не будет установлено на этот эмулятор.
Если образ ранее не был скачан, рядом с названием появится кнопка Download, нажатие на которую начнёт процесс скачивания. Для скачивания образа потребуется доступ к Интернету.
Чтобы перейти на следующий этап, нужно нажать Next. В новом окне будет предложено изменить дополнительные свойства AVD (название AVD, ориентацию экрана).
После нажатия на Show Advanced Settings откроются дополнительные настройки, в которых можно изменить следующее:
- Фронтальную/основную камеру. Вместо эмуляции изображения есть возможность использовать в качестве камеру подключённую вебкамеру.
- Скорость и качество интернет-соединения.
- Способ загрузки. Если выбрать Quick Boot, то эмулятор будет сохранять текущее состояние при выключении и загружать его при включении. Cold Boot – холодный старт.
- Количество выделенной оперативной памяти и места на диске.
- Включение\отключение внешнего вида эмулятора.
- Включение\отключение ввода с клавиатуры.
Важно! Использование Quick Boot может сильно замедлить работу компьютера, если у него будет недостаточно свободной оперативной памяти для загрузки-сохранения данных. В этом случае лучше использовать Cold Boot.
После того, как AVD будет настроен, останется только нажать Finish. После этого созданный AVD можно будет увидеть в окне Менеджера AVD.
Если нужно будет изменить настройки AVD, это легко можно сделать, нажав на кнопку Edit рядом с нужным эмулятором в списке Менеджера AVD.
Чтобы запустить эмулятор, достаточно в Менеджере AVD нажать на кнопку Run.
Протестировать приложение на эмуляторе можно, нажав на кнопку Run в Android Studio.
Откроется окно Select Deployment Target, в котором будет предложено выбрать, на каком устройстве нужно запустить приложение.
После нажатия OK начнётся запуск выбранного эмулятора, если он не до сих пор запущён, либо установка APK на эмулятор.
Примечание: также установить приложение на эмулятор можно, просто перетащить APK-файл на экран эмулятора.
Эмулятор Android позволяет тестировать самые разные функции. Их можно настроить, нажав на кнопку Extended Controls в меню рядом с эмулятором.
Откроется окно с настройками, разбитыми на различные категории. Здесь можно настроить отправку данных, различные свойства устройства и так далее. Рассмотрим некоторые из категорий.
Вкладка Location позволяет симулировать изменение местоположения устройства. В этом окне можно задавать широту, долготу и высоту и отслеживать изменение координат.
Вкладка Cellular содержит параметры, регулирующие качество связи и мобильного интернета. Например, можно настроить тип сети, выбрав LTE, GPRS или другие варианты, силу сигнала и домашний регион/роуминг.
На вкладке Battery можно установить уровень заряда батареи и её состояние (заряжается, разряжается и так далее).
Вкладка Phone позволяет симулировать входящие звонки и смс-сообщения.
Для того, чтобы отправить входящий вызов, достаточно нажать на кнопку Call device, после чего на эмуляторе появится соответствующее уведомление. При желании можно также задать свой номер телефона.
Аналогичным образом можно отправить текстовое сообщение, введя текст сообщения в поле SMS Message и нажав Send Message.
Вкладка Directional pad представляет собой дополнительный набор элементов управления, встроенных в устройство или подключенных внешне, который обеспечивает управление направлением (вверх, вниз, вправо, влево).
На вкладке Fingerprnt можно симулировать использование датчика отпечатков. На выбор предлагается несколько предустановленных отпечатков пальцев для различных тестов. Чтобы сообщить датчику о том, что пользователь прикладывает палец, нужно нажать на кнопку Touch the sensor.
Вкладка Virtual sensors отвечает за симуляцию работы различных датчиков, таких как гироскоп, акселерометр и магнитометр.
С их помощью можно тестировать приложение на предмет изменения положения устройства в пространстве, ориентации или того и другого. Эмулятор имитирует способ реагирования датчиков акселерометра и магнитометра при перемещении или повороте реального устройства.
Кроме того, на вкладке Additional sensors находятся различные датчики положения и окружения. На этой вкладке можно настроить следующее:
- Температура окружающей среды
Имитирует температуру воздуха. - Магнитное поле
Имитирует изменение окружающего магнитного поля, значения указываются в микротеслах (мкТ). - Близость
Определяет расстояние до какого-либо объекта. - Свет
Имитирует изменение уровня освещённости, измеряется в люксах. - Давление
Измеряет давление окружающего воздуха, значения указаны в миллибар. - Относительная влажность
Изменяет собственно относительную влажность окружающей среды.
Что касается остальных пунктов меню эмулятора, то они вкратце перечислены ниже.
- Кнопка включания/выключения экрана. При удерживании включает/выключает устройство.
- Кнопка увеличения громкости
- Кнопка уменьшения громкости
- Поворот экрана налево
- Поворот экрана направо
- Создание скриншота экрана. По умолчанию, скриншот сохраняется на рабочий стол и имеет название Screenshot_yyyymmdd-hhmmss.png.
- Изменяет курсор на лупу. Клик левой кнопкой мыши по экрану увеличивает масштаб на 25%, правой кнопкой мыши – уменьшает. Для возврата из режима нужно повторнго нажать на кнопку.
- Возвращает к предыдущему экрану либо закрывает диалоговое окно, меню опций, панель уведомлений или экранную клавиатуру.
- Возвращает на домашний экран.
- Открывает список недавних приложений.
Вот всё основное, что можно сказать о том, какие возможности предоставляет встроенный эмулятор Android Studio. Функционал весьма богат и позволяет тестировать самые разные возможности приложений.
Сторонние эмуляторы
Genymotion
Genymotion является одним из самых популярных эмуляторов Android за счёт своего быстродействия и развития разработчиками. Этот проект был развит из AndroidVM и на данный момент обзавёлся большим количеством улучшений.
Genymotion, аналогично эмулятору Android Studio, обладает большим количеством возможностей. К недостаткам же можно отнести то, что он является платным, для ознакомления на сайте доступна 30-дневная триал-версия. Также стоит отметить, что для работы Genymotion нужно, чтобы на компьютере был установлен Oracle VM VirtualBox.
Регистрация на сайте, а также скачивание и установка достаточно просты, поэтому здесь не имеет смысла останавливаться. При запуске Genymotion появляется окно с пустым списком эмуляторов.
Для создания нового эмулятора нужно нажать Add.
Здесь будет представлен список заготовленных образов и конфигураций устройств. Причём список весьма богат и включает в себя устройства Motorola, Sony, Samsung и другие.
Когда нужная конфигурация выбрана, нужно нажать Next. На следующем экране будет показана суммарная информация о выбранной конфигурации, а также будет предложено дать название эмулятору.
После нажатия на Next начнётся скачивание образа выбранной версии Android и создание эмулятора. Как только всё будет завершено, останется только нажать на Finish.
После создания эмулятор будет отображаться в списке на основном окне.
Чтобы запустить эмулятор, нужно выбрать нужную конфигурацию и нажать Start. В результате откроется окно с эмулятором и меню управления.
Как можно видеть, в триал-версии не все особенности поддерживаются, активны только следующие:
- Battery
В этом окне можно настраивать уровень заряда, заряжается ли батарея или нет.
Например, можно выставить низкий заряд батареи, после чего на эмулятор сразу придёт уведомление о низком уровне заряда.
- GPS
Здесь можно включить определение местонахождения устройства по геоданным. Можно ввести все координаты (широту, долготу, высоту) и нажать Map, после чего на карте будут показаны введённые координаты. Или наоборот, можно кликнуть по точке на карте и в окне GPS отобразятся координаты этой точки.
- Camera
В этом окне можно включить симуляцию камеры. При этом можно выбрать, что использовать для отображения камеры. Также в окне Preview будет показано, как всё это будет выглядеть.
Таким образом, Genymotion предлагает неплохой и удобный функционал по работе с приложениями, однако полный его потенциал раскрывается в коммерческой версии.
Genymotion круче
Эм? Зачем тут эмуляторы Андроида? Если пост называется: Эмуляторы В андроид?
Daniil, полностью согласен!