Статьи

Улучшенная эмуляция Android с Genymotion

Если вы разрабатывали приложения для Android в течение некоторого времени и использовали эмулятор по умолчанию, то вы знаете, насколько это может быть удручающе медленно. Даже на мощной машине это в лучшем случае управляемо. Эмулятор не только медленно загружается, но и при всех последующих запусках вашего приложения. Решением этой проблемы стала компания AndroVM, которая предоставила виртуальный клиент Android для VirtualBox . В результате появился эмулятор, который был заметно быстрее, чем стандартный эмулятор Android.

AndroVM был куплен Genymobile, и они выпустили Genymotion, который является коммерческим продуктом, улучшающим AndroVM.

В эмуляторе Genymotion используется архитектура виртуализации x86 и аппаратное ускорение OpenGL, что делает работу ваших приложений более эффективной. Он работает путем создания виртуальной машины через VirtualBox, чтобы предоставить эмулятор Android с поддержкой аппаратных датчиков, таких как GPS, акселерометр и батарея. Он доступен для Windows, Mac и Linux. Вы можете получить его бесплатно, и он имеет премиум-лицензию, которая добавляет больше возможностей для эмулятора. Для списка из них, посмотрите на этот список . Для общего тестирования бесплатной версии достаточно.

Для загрузки создайте аккаунт на сайте Genymotion . Когда вы войдете в систему, вы будете перенаправлены на страницу загрузки, где вы загрузите установщик для вашего компьютера. Для Mac и Linux вам необходимо сначала установить Oracle VirtualBox . Установщик Windows включает в себя зависимость VirtualBox, поэтому вам не нужно устанавливать его вручную. Инструкции по установке для вашей конкретной среды разработки смотрите на этой странице . При установке VirtualBox убедитесь, что у вас включена сеть VirtualBox. Для установки на Mac обязательно перетащите Genymotion и Genymotion Shell в папку «Приложения».

установщик genymotion

После установки запустите приложение Genymotion, чтобы открыть главное окно Genymotion, где вы можете увидеть список виртуальных устройств, добавить новые устройства и настроить параметры.

главный экран genymotion

Так как это ваша первая установка, у вас не будет никаких виртуальных устройств в списке или вы будете авторизованы, как показано на рисунке выше.

Чтобы добавить устройство, нажмите кнопку Добавить. Вам будет предложено войти, чтобы обнаружить доступные виртуальные устройства. После входа в систему вам будет показан список доступных устройств, которые вы можете отфильтровать по версии Android или модели устройства. На момент написания этой статьи самый высокий номер версии — Android 5.0 Preview, запущенный на Nexus 5.

Выберите устройство, которое хотите добавить, и нажмите «Далее». Мы добавим Samsung Galaxy S5 под управлением Android 4.4.4.

добавление устройства в genymotion

Виртуальное устройство будет загружено, и после завершения загрузки оно будет отображено в главном окне Genymotion. Ниже приведен список моих загруженных виртуальных устройств (я добавил еще несколько в список).

запуск устройства Genymotion

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

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

сравнивая эмуляторы

Сверху элементы управления:

  • Аккумулятор — предлагает возможность протестировать ваше приложение при различных условиях заряда аккумулятора.
  • GPS — используйте это, чтобы установить различные местоположения для вашего устройства и проверить функциональность геолокации ваших приложений.
  • Камера — Устанавливает переднюю и заднюю камеры виртуального устройства. Если на вашем компьютере есть веб-камера, вы можете использовать это. Вы также можете установить фиктивную веб-камеру, которая показывает пустой вид с движущейся иконкой Genymotion.
  • Захват — позволяет делать снимки экрана или скринкасты виртуального устройства. Это полезно для записи вашего приложения в использовании.
  • Remote Control — позволяет вам управлять виртуальным устройством с другого физического устройства (под управлением Android 2.2 или выше). Подключенное физическое устройство будет перенаправлять сенсорные входы и события акселерометра в Genymotion. Таким образом, вы можете протестировать свое приложение, как если бы вы держали устройство в руках.
  • Идентификаторы. Показывает идентификаторы устройств и номера Android. Вы можете просматривать и редактировать эти значения в любое время без перезагрузки виртуального устройства.
  • Сеть — позволяет проверить, как приложение реагирует на различные типы сетевых качеств.
  • Увеличить громкость
  • Уменьшить громкость
  • Повернуть экран
  • Pixel Perfect — обеспечивает высокую точность вашего пользовательского интерфейса и гарантирует, что каждый пиксель вашего приложения выглядит так, как должен. Один пиксель виртуального устройства отображается с использованием одного пикселя экрана вашего компьютера.

Eclipse и Android Studio Интеграция

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

Если вы не хотите запускать Genymotion каждый раз, когда хотите использовать его устройства, установите плагин Genymotion, доступный как для Eclipse, так и для Android Studio.

Для Eclipse откройте Справка -> Установить новое программное обеспечение , нажмите кнопку Добавить, чтобы добавить новый сайт обновлений. Дайте ему имя Genymotion и URL-адрес http://plugins.genymotion.com/eclipse/ . Нажмите Ok, а затем в окне Доступное программное обеспечение выберите Genymobile из списка и нажмите Далее. Следуйте инструкциям до завершения установки. Затмение нужно будет перезагрузить.

При перезапуске Eclipse вы увидите значок диспетчера виртуальных устройств Genymotion.

значок genymotion на панели инструментов IDE

Запустите диспетчер виртуальных устройств Genymotion. Это похоже на менеджер устройств по умолчанию, где вы можете увидеть список ваших устройств и запустить их. Если вы выберете New из диспетчера, он откроет Genymotion, поскольку вы не можете создать устройство отсюда. Чтобы запустить устройство, нажмите «Пуск» после выбора устройства из списка, и устройство запустится без необходимости запуска Genymotion.

генимические устройства

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

выбор эмулятора в IDE

Примечание . Это ошибка, которая начала появляться в Mac OSX Yosemite. Когда вы решили запустить свое приложение на устройстве, запустив таким образом Android Device Chooser, как показано выше. Вы можете не увидеть работающее устройство Genymotion в списке доступных. Простое решение — изменить размер вкладки с серийным номером, и вы увидите запущенный эмулятор genymotion.

Для Android Studio откройте Настройки. Это отличается для разных ОС. Для Mac это Android Studio -> Настройки . В появившемся окне в разделе «Настройки IDE» выберите «Плагины». Нажмите на кнопку Обзор репозиториев и найдите Genymotion. Выберите Genymotion из результатов поиска и нажмите кнопку Установить плагин. После установки Android Studio перезагрузится.

При перезапуске значок Genymotion Virtual Device Manager будет добавлен на панель инструментов.

значок genymotion в затмении

При нажатии на значок вам будет предложено указать путь к приложению Genymotion. Для Mac это должно быть /Applications/Genymotion.app После установки пути вы сможете запустить диспетчер устройств.

список устройств

При запуске вашего приложения, работающее виртуальное устройство Genymotion будет одним из тех устройств, на которых вы можете запустить свое приложение.

выбор устройства

Дополнительные функции стоит упомянуть

Лично из-за его скорости я предпочитаю использовать Genymotion по сравнению с эмулятором по умолчанию. Но есть еще пара возможностей, которые мне действительно нравятся. Во-первых, это простота установки apk-файла. В эмуляторе по умолчанию есть несколько шагов, которые вы должны выполнить, чтобы запустить файл apk на устройстве, с Genymotion вы просто перетащите файл на виртуальное устройство.

Вторая функция — это функция, которую Genymotion больше не поддерживает . Предыдущие версии Genymotion поддерживали приложения Google, что означало, что вы можете устанавливать приложения из магазина Google Play на виртуальном устройстве так же, как на реальном устройстве. Это может пригодиться при исследовании функций, включаемых в ваше приложение, при рассмотрении того, как различные приложения реализуют эти функции. Вы можете устанавливать приложения на разные виртуальные устройства, таким образом тестировать приложение на телефонах и планшетах без необходимости приобретать различные реальные устройства для тестирования.

Вы по-прежнему можете включить поддержку приложений Google в Genymotion, установив совместимый пакет приложений Google на виртуальном устройстве. Но, как утверждает команда Genymotion .

«Если вы решите добавить необходимый пакет самостоятельно, это будет на ваш страх и риск, и мы не будем нести за него ответственность».

Если вы не хотите идти по этому пути, но по-прежнему хотите запускать приложения Android из Google Play Store на своем компьютере, тогда лучше использовать два эмулятора: Andy и BlueStacks .