Pull to refresh

Что делать, если под рукой нет Android-устройства? Обзор Android-эмуляторов

Development for Android *
Sandbox

Введение


Часто бывает необходимость проверить работу свеженаписанного приложения на устройстве. Но вполне может оказаться, что устройства под рукой нет. Или нет устройства с определенными параметрами (правда, это больше относится к размеру/разрешению экрана). Что же делать в этом случае?
К счастью, альтернативы есть. Android-сообщество и разные компании предлагают на выбор несколько вариантов замены android-устройств для разных целей.

Я кратко расскажу о следующих:
  • Эмулятор в составе SDK
  • Genymotion
  • Android x86
  • Bluestacks

Если интересно — добро пожаловать под кат (осторожно, достаточно много картинок)

Эмулятор в составе SDK


image

Сайт: http://developer.android.com/sdk/index.html
Самый очевидный способ подмены устройства. Если занимаешься разработкой под Android — эмулятор точно есть.

Использование

Для использвания достаточно открыть AVD Manager из эклипса или в консоли
/path/to/sdk/tools/android avd
создать свой AVD (Android Virtual Device) и запустить. Более подробно процесс описывать не буду, все достаточно просто.
Однако не обошлось без особенностей. ARM-эмуляторы до ужаса медленные. Что-то нормально проверить практически невозможно, особенно на не очень сильном железе (потому что эмуляция процессора с другой архитектурой). Тут на помощь может прийти технология Intel HAXM, однако это чревато тем, что платформо-зависимый код (который должен работать под ARM) может не работать, поскольку используется x86.
Скриншоты
AVD manager

Параметры запуска

Сам эмулятор



Плюсы

  • Кроссплатформенное решение
  • Входит в состав SDK, не нужны сторонние тулы
  • Конфигурируемый (размер памяти, подключение камеры и т.д)
  • Доступ по telnet для настройки параметров сети, батареи и т.д.
  • Плагин для Eclipse, легкий доступ через adb
  • Обновляется сразу после выхода новой версии Android

Минусы



Genymotion


image

Сайт: http://www.genymotion.com/
Проприетарная реализация, выросшая из проекта AndroVM.
По сути, виртуальная машина на VirtualBox с дополнительными фишками вроде своих контролов, расширенной настройки и т.д.
Достаточно удобен, быстр, много возможность, коммандлайн тулы, Java API для тестов.
При создании устройства из сети выкачивается его образ.
APK можно устанавливать, перетянув их на окно с виртуалкой.
Скриншоты
Окно работающего девайса

Создание виртуального девайса

Главное окно приложения


Плюсы

  • Кроссплатформенное решение
  • Быстрый
  • Много дополнительных тулов (контроль заряда, акселерометра, API для тестов и т.д.)
  • Плагин для Eclipse, легкий доступ через adb

Минусы

  • Платный для компаний, и это главный минус
  • Не ARM
  • Достаточно долгий выход актуальных версий Android


Android x86


image

Сайт: http://www.android-x86.org/
Проект по портированию Android на платформу x86. Распространяется в виде образа iso, можно запустить/установить в виртуальной машине, при большом желании можно даже поставить на живую машину с x86 процессором (на ноутбук, например).
Работает быстро, но есть куча проблем из-за того, что это виртуальная машина. Например, привязывние мыши внутри окна виртуалки, доступ к adb только по сети и т.д.

Для использования в VirtualBox нужно отключать Mouse Integration, иначе в виртуальной машине не видно курсора.

Для подключения adb нужно выполнить
adb connect ip.add.res.s

IP-адрес можно узнать, нажав в машине Alt+F1 и введя netcfg. Вернуться в графический режим — Alt+F7.
Скриншоты
Главное окно:

Консоль с IP-адресом:


Плюсы

  • Кроссплатформенное решение (везде, где есть VirtualBox)
  • Быстрый

Минусы

  • Неудобный доступ к adb
  • Минусы, связанные с использованием VM — привязка мыши, например
  • Не ARM
  • Очень долгий выход актуальных версий


Bluestacks




Сайт: www.bluestacks.com
Позиционируется как плеер приложений для Windows, Mac и TV. Умеет запускать приложения, имеет доступ к маркету. Неудобен для разработки и тестирования — apk ставятся тулом из комплекта, но доступ к adb можно получить. Однако для запуска приложений может быть полезен.
Для подключения через adb:
adb connect 127.0.0.1

Скриншоты
Запуск:

Главное окно:


Плюсы

  • Кроссплатформенное решение (правда, только Mac и Windows)
  • Быстрый

Минусы

  • Неудобно ставить приложения
  • Непонятно, что с версиями android (2.3 под OS X, под Windows ставился 4.0)
  • Нет под linux


Вывод


Получается, что для некоторых ситуаций можно обойтись и без девайса. Однако не стоит забывать, что во многих случаях железо эмуляторов отличается от реального, да и прошивки реальных устройств тоже могут подбросить сюрпризов. Поэтому эмуляторы — всего лишь для начальной проверки.
Tags:
Hubs:
Total votes 31: ↑28 and ↓3 +25
Views 263K
Comments Comments 33