Опубликовано расписание летней практики Подробнее
Toggle Bar

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

android studio emulyatorВиртуальное устройство Android (Android Virtual Device, AVD) позволяет разработчику тестировать свои приложения, не имея под рукой телефона с Android. Можно создавать несколько эмуляторов – устройств AVD, с различными видами конфигурации, чтобы эмулировать различные  типы реальных телефонов.

Стандартный эмулятор  работает достаточно медленно. Если на Вашем ПК установлен процессор Intel с поддержкой   технологии виртуализации VT-x (Intel Virtualization Techology for x86 VT-x) (данные параметры устанавливаются в BIOS),  то достаточно просто можно повысить его производительность.  Для этого необходимо с помощью SDK Manager инсталлировать следующие пакеты:

  • Intel x86 Atom System Image
  • Intel x86 Emulator Accelerator (HAXM)

sdk menedger

Образ Intel x86 Atom System Image будет доступен при создании и настройке конкретного эмулятора

obraz

Далее необходимо установить пакет Intel x86 Emulator Accelerator (HAXM). Он находится здесь \sdk\extras\intel\Hardware_Accelerated_Execution_Manager.

Установка Intel HAXM

В процессе установки вам предложат определить объем выделяемой оперативной памяти. Вы можете оставить значение, предложенное по умолчанию. Если в процессе работы вы захотите изменить это значение – запустите установку еще раз. 

pamyat

Если режим не включен или не поддерживается, то появится окно сообщения: 

error

В этом случае проверьте настройки в BIOS, возможно виртуализация поддерживается вашей системой, но по умолчанию отключена.

Размеры и разрешение экрана

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

Существует 4 диапазона размеров экранов:

small - QVGA (320x426 dp)

normal - HVGA (320x470 dp)

large - VGA (480x640 dp)

xlarge -  HVGA (720x960 dp), доступно с API 9 (Android 2.3)

и следующие  диапазоны плотностей экранов:

Плотность пикселей на дюйм Соотношение dp к px
ldpi - 120dpi 1 dp = 3/4 px
mdpi - 160dpi 1 dp = 1 px
hdpi - 240dpi 1 dp = 1.5 px
xdpi - 320dpi 1 dp = 2 px
xxdpi - 480dpi (с API 16, Android 4.1) 1 dp = 3 px
xxxdpi - 640dpi (с API 18, Android 4.3) 1 dp = 4 px
nodpi - "как есть"
tvdpi - 1.33 * mdpi 1 dp = 1.33 px

Вот несколько примеров:

  • QVGA (Quarter Video Graphics Array) 240x320 dp – низкая плотность, размер 2-3,5″;
  • WQVGA (Wide Quarter Video Graphics Array) 240x400 dp – низкая плотность, размер 2-3,5″;
  • HVGA (Half Video Graphics Array) 320x480 dp – средняя плотность, размер 3-4″;
  • WVGA800 (Wide Video Graphics Array) 480x800 dp) –высокая плотность, размер 4-7″;
  • WVGA854 (Wide Video Graphics Array) 480x854 dp) –высокая плотность, размер 4-7″;

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

После установки образа эмулятора Android для x86 необходимо создать новое виртуальное устройство с помощью Android Virtual Device Manager. Для этого: 

  1. Запускаем ADV Manager. Меню Tools|Android|AVD Manager.
    Примечание. Если запустить ADV Manager из папки установки SDK, то появится более простое и знакомое диалоговое окно по IDE Eclipse.
  2. Выбираем создание устройства "+Create Virtual Device"

sozd ustr

tip usrt

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

В начале разработки  приложения, как правило, наиболее важным параметром эмулятора является скорость его работы, поэтому  следует выбрать достаточно простой и быстрый эмулятор.  На последующих этапах разработки приложения можно перейти на эмулятор, который наиболее  точно моделирует работу реального устройства  или использовать реальное устройство. В этой связи для учебных целей выбираем устройство: Nexus One (3.7” 480x800 hdpi) или  Nexus S(4.0"480x800 hdpi). Эти эмуляторы требует немного оперативной памяти (500 mb и 375 mb) и поэтому достаточно быстро работают. Следует помнить, что «крутой эмулятор» потребует большие ресурсы ПК, что приводит к медленной его работе, а иногда он может просто не запуститься.   

Далее  жмём  кнопку "Next"  и переходим на экран, предлагающий выбрать версию операционной системы для эмулятора.

versiya usrtoistva

У Google издавна сложилась традиция называть разрабатываемые версии операционных систем тремя словами:

KitKat - Key Lime Pie(Лаймовый Пирог)

Lollipop - Lemon Meringue Pie(Лимонный Пирог Безе)

MNC - Macadamia Nut Cookie (Печенье из Ореха Макадамия). 

lollipop

Поскольку на  ПК, на котором будет запускаться эмулятор, установлен процессор Intel с поддержкой технологии виртуализации VT и используется ОС Windows 7 x86,  то выбираем  Lollipop уровень API 22, ABI x86, целевая версия Android 5.1.1.

Здесь:

ABI - двоичный интерфейс приложения (Application binary interface)- это образ аппаратной части выбираемой аппаратной платформы создаваемого виртуального устройства. Здесь как раз и следует выбирать x86 образ, который был установлен нами ранее.

Target - целевая версия Android это версия API, на которую ориентировано приложение. Выберем самую новую.

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

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

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

Если мы ошибочно выберем образ системы, который нами не установлен, то будет выдано соответствующее  предупреждение :  Consider using  an x86 system image for better  emulator performance (рассмотрите  использование  образа системы x86  для повышения производительности эмулятора). Соответствующий экран представлен ниже. 

lollipop error

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

harakteristiki ustroistva

parameti ustroistva

Обратим внимание на следующие параметры:

AVD Name — Имя устройства. Можно задать какое нравится, рекомендую указывать что-то простое, на латинице, без пробелов, например, имя устройства и номер AIP: Nexus_S_API22.

Startup size and orientation

Scale – позволяет изменить размер эмулятора на экране монитора.
Orientation  - позволяет задать книжную или альбомную ориентацию

Emulated performance - производительность эмулятора.

Use Host GPU — использование аппаратного ускорения графики при работе эмулятора. Рекомендуется включить данную опцию — так графика в эмуляторе будет работать быстрее.
Snapshot — снимок системы — при включении этой опции эмулятор виртуального устройства будет сохранять свое состояние при рестарте, т.е. после включения (загрузки)  получаем устройство в том же состоянии как перед выключением (выгрузкой) эмулятора. Данную опцию пока трогать не будем, оставим ее в выключенном состоянии.

Camera - камера

Front Back - включение эмуляции камер (фронтальной и основной), при желании можно вывести через них картинку с web-камеры. Оставим значения по умолчанию — None, так как в простых учебных примерах камеры практически не применяются, а «боевые» приложения, использующие «сложные» аппаратные возможности надежнее отлаживать на реальных устройствах.

Memory and Storage — опции памяти  и внутреннего хранилища.

Здесь указывается, сколько оперативной (RAM) памяти будет доступно в эмуляторе, а так же размер VM Heap — количество доступной памяти для одного экземпляра приложения. Рекомендуется эти значения указывать исходя из ресурсов реальных устройств, поэтому оставим значения по умолчанию (512 и 32). Однако, при увеличении этих параметров приложение в эмуляторе будет работать быстрее, но следует помнить что вы разрабатываете приложение для реального устройства, где объем оперативной памяти жестко задан производителем устройства и поменять его невозможно.

Internal Storage — внутреннее хранилище. Здесь указывается объем внутреннего устройство хранения, опять таки — указывайте значение, которое возможно на реальном устройстве.

SD Card — SD карта. Здесь, если требуется, можно указать параметры используемой виртуальной SD карты памяти (которые используются на реальных устройствах повсеместно, для расширения внутреннего хранилища). Оставим поле Size (размер) пустым — пока что не будем использовать SD карту. Для удобства программиста здесь же можно указать готовый образ SD карты в файле, если такая необходимость есть.

Frame Frame – имитировать ли внешний вид  реального устройства.

Skin — скин эмулятора. Включение отображения аппаратных элементов управления в окне эмулятора (hardware buttons). Так же воспользуемся данным пунктом, что бы видеть кнопки устройства в окне эмулятора.

Keyboard — клавиатура. Включение представления аппаратной клавиатуры (hardware keyboard). Воспользуемся данным пунктом.

 nastriki ustroistva

Теперь осталось запустить и проверить все ли настроено верно. Выбираем созданный эмулятор и запускаем его кнопкой "Start”. 

ustroistvo

Далее  идем в настройки  и выполняем следующие действия:

  • Устанавливаем  русский язык
  • Проверяем работает ли эмулятор в режиме поддержки технологии виртуализации ( образ x86)

Если все было сделано правильно, то для нашего примера, в поле "Модель" мы увидим строку "Android SDK Build for x86". 

model ustroistva

Добавить комментарий:

Добавить комментарий

Защитный код
Обновить

 
Яндекс.Метрика