Разработчики Android должны ориентироваться на различные устройства Android, чтобы охватить наибольшее количество пользователей. Правильно настроив эмулятор Android для имитации поведения различных устройств, разработчики могут сэкономить драгоценное время и деньги на тестировании и выявить несовместимости. В этом руководстве вы узнаете, как создавать конфигурации виртуальных устройств Android (AVD) для различных популярных на сегодняшний день устройств Android. В частности, вы создадите конфигурации AVD для:
- HTC Evo 4G
- Google / HTC Nexus One
- Motorola Droid
- T-Mobile / HTC G1
- Интернет-планшет Archos 5
Окончательный результат предварительного просмотра
Предположения
Авторы предполагают, что читатель имеет некоторые базовые знания об Android и что все инструменты установлены и работают, в частности Eclipse, Android SDK и плагин Android ADT для Eclipse. Для этого урока вам потребуется использовать Android SDK и AVD Manager, доступные в Eclipse IDE.
Примечание. Если вы не используете Eclipse IDE для разработки под Android, вы все равно можете следовать этому руководству и создавать соответствующие конфигурации AVD с помощью инструмента командной строки android.bat (или команды android в Mac & Linux), представленного в / tools каталог установки Android SDK. Однако шаги будут другими, поскольку вы работаете в командной строке, а не через Android SDK и AVD Manager. Для получения дополнительной информации об инструменте командной строки android и о том, как использовать его для создания и управления AVD, см. Документацию Android SDK.
Шаг 1. Знакомство с Android SDK и AVD Manager
Android SDK и AVD Manager интегрируются в Eclipse IDE при установке подключаемого модуля Android Development Tools (ADT). Android SDK и AVD Manager используются для отслеживания различных целей Android SDK, установленных на вашем компьютере для разработки, а также для управления виртуальными устройствами Android (AVD), используемыми эмулятором Android, для имитации поведения реальных устройств Android.
Эмулятор Android должен иметь конфигурацию AVD для работы. AVD представляет собой уникальный устойчивый образ системы. Все измененные настройки и приложения, установленные во время использования AVD в эмуляторе, будут сохранены в образе системы.
Конфигурация AVD также описывает, как эмулятор должен эмулировать реальное устройство, включая:
- Какую версию платформы Android эмулировать (уровень API) (Примечание. Целевая платформа может измениться, если и когда устройства получат беспроводные обновления)
- Размер экрана, плотность и разрешение
- SD Card размер и содержание
- Детали оборудования (Камера? Клавиатура? Трекбол? D-Pad?)
Полный список параметров аппаратной эмуляции, включая настройки и их значения по умолчанию, доступен в документации по Android SDK .
Вы можете запустить Android SDK и AVD Manager с панели инструментов Eclipse, нажав кнопку с зеленым значком Android со стрелкой ( ) или выбрав Window-> Android SDK и AVD Manager.
Шаг 2. Создание AVD для эмуляции HTC Evo 4G
HTC Evo 4G — одно из новейших Android-устройств на рынке. Это новый мощный телефон с большим экраном, мощным процессором и отличной камерой.
Важные характеристики этого устройства с точки зрения эмулятора:
- Целевая платформа: на данный момент Android 2.1
- Информация о экране: большой экран, высокая плотность
- Отсутствие клавиатуры и DPad
- Отсутствие трекбола
Поэтому давайте создадим конфигурацию AVD под названием Evo4G:
- В Eclipse запустите Android SDK и AVD Manager.
- Выберите «Виртуальные устройства» из опций слева
- Нажмите кнопку «Создать», чтобы создать новую конфигурацию AVD
- Назовите AVD: «Evo4G»
- Выберите цель: «Уровень API API Google 7»
- Введите размер SD-карты: «8 ГБ»
- Введите данные скина: «800×480»
- Отредактируйте свойство оборудования для абстрактной плотности ЖК-дисплея: «217»
- Добавить еще одно свойство оборудования для поддержки DPad: «Нет»
- Добавить еще одно свойство оборудования для поддержки клавиатуры: «Нет»
- Добавить еще одно свойство оборудования для поддержки трекбола: «Нет»
- Сохранить AVD
Теперь вы создали AVD, который может использоваться эмулятором Android, чтобы быть похожим на HTC Evo 4G и вести себя как он. Если вы запустите приложение Android в эмуляторе во время этого AVD, вы увидите, что экран очень похож на тот, который вы видели на реальном устройстве. Если у вас есть одно из этих устройств, вы можете сразу заметить, что экран не выглядит одинаково (программно). Эмулятор не предоставляет сторонние надстройки, такие как интерфейс HTC Sense.
Шаг 3. Создание AVD для эмуляции Google Nexus One
Google Nexus One — мощный телефон с последней версией Android. Будучи устройством, изначально проданным непосредственно Google, этот телефон, похоже, получает обновления в ближайшее время. Он также имеет хороший экран и довольно быстрый, особенно с Android 2.2.
Важные характеристики этого устройства с точки зрения эмулятора:
- Целевая платформа: на данный момент Android 2.2
- Информация о экране: среднего размера, высокой плотности
- Нет клавиатуры или DPad
- Имеет трекбол
Поэтому давайте создадим конфигурацию AVD под названием NexusOne:
- В Eclipse запустите Android SDK и AVD Manager.
- Выберите «Виртуальные устройства» из опций слева
- Нажмите кнопку «Создать», чтобы создать новую конфигурацию AVD
- Назовите AVD: «NexusOne»
- Выберите цель: «API API уровня Google 8»
- Введите размер карты SD: «4 ГБ»
- Введите сведения о скине: «WVGA800» (800×480)
- Добавить свойство оборудования для абстрактной плотности ЖК-дисплея: «252»
- Добавить еще одно свойство оборудования для поддержки DPad: «Нет»
- Сохранить AVD
Вы создали AVD, который может использоваться эмулятором Android, чтобы он был похож на Google Nexus One. Если вы запустите приложение Android в эмуляторе во время этого AVD, вы увидите, что экран очень похож на тот, который вы видели на реальном устройстве. Здесь мы видим фотографию, которая показывает эмулятор Android с NexusOne AVD справа и реальный Nexus One слева.
Шаг 4: Создание AVD для эмуляции Motorola Droid
Motorola Droid является одним из самых распространенных телефонов Android, доступных в Соединенных Штатах сегодня. Он также отличается от многих других более новых телефонов Android тем, что имеет аппаратную клавиатуру.
Важные характеристики этого устройства с точки зрения эмулятора:
- Целевая платформа: на данный момент Android 2.1.
- Информация экрана
- Отсутствие поддержки трекбола
- Имеет клавиатуру и DPAD
Поэтому давайте создадим конфигурацию AVD под названием MotoDroid:
- В Eclipse запустите Android SDK и AVD Manager.
- Выберите «Виртуальные устройства» из опций слева
- Нажмите кнопку «Создать», чтобы создать новую конфигурацию AVD
- Назовите AVD: «MotoDroid»
- Выберите цель: «Уровень API API Google 7»
- Введите размер SD-карты: «16 ГБ»
- Введите сведения о скине: «WVGA854»
- Отредактируйте свойство оборудования для абстрактной плотности ЖК-дисплея: «265»
- Добавить еще одно свойство оборудования для поддержки трекбола: «Нет»
- Сохранить AVD
Теперь вы создали AVD, который может использоваться эмулятором Android, чтобы быть похожим на Motorola Droid. Если вы запустите приложение Android в эмуляторе во время этого AVD, вы увидите, что экран очень похож на тот, который вы видели на реальном устройстве.
Шаг 5: Создание AVD для эмуляции T-Mobile G1
T-Mobile G1 был первым общедоступным телефоном Android. Хотя многие пользователи обновились до новых устройств Android, многие G1 все еще существуют. На самом деле, на момент написания статьи, хороший
50% активированных устройств по-прежнему работают под управлением Android 1.5 и Android 1.6 — хороший показатель того, что G1s и другие ранние телефоны Android все еще используются.
Важные характеристики этого устройства с точки зрения эмулятора:
- Целевая платформа: надстройки Google с Android 1.6
- Информация о экране: средняя плотность и маленький
- Имеет клавиатуру и трекбол, но нет DPad
Поэтому давайте создадим конфигурацию AVD под названием TMobileG1:
- В Eclipse запустите Android SDK и AVD Manager.
- Выберите «Виртуальные устройства» из опций слева
- Нажмите кнопку «Создать», чтобы создать новую конфигурацию AVD
- Назовите AVD: «TMobileG1»
- Выберите цель: «API API уровня Google 5»
- Введите размер SD-карты: «2 ГБ»
- Введите сведения о скине: «HVGA» (480×320)
- Отредактируйте свойство оборудования для абстрактной плотности ЖК-дисплея: «180»
- Добавить свойство оборудования для поддержки DPad: «Нет»
- Сохранить AVD
Теперь вы создали AVD, который может использоваться в эмуляторе Android, чтобы быть похожим на T-Mobile G1. Если вы запустите приложение Android в эмуляторе во время этого AVD, вы увидите, что экран очень похож на тот, который вы видели на реальном устройстве.
Шаг 6: Создание AVD для эмуляции интернет-планшета Archos 5
Наконец, давайте посмотрим на устройство Android, которое не является телефоном. Один хороший вариант — интернет-стол Archos 5. Разработка для других типов устройств Android имеет свои собственные проблемы. Без надстроек Google вы не можете рассчитывать на присутствие каких-либо конкретных приложений. Например, приложение Google Maps не будет доступно. На устройстве все еще может быть приложение «Карты», но вы не обязательно будете знать, как оно будет себя вести. Настоятельно рекомендуется проводить тестирование без этих приложений, как вы можете делать с эмулятором, чтобы вы знали, делает ли приложение предположения, которых оно не должно делать.
Важные характеристики этого устройства с точки зрения эмулятора:
- Целевая платформа: Android 1.6, но без дополнений Google
- Информация о экране: высокая плотность и большой
- Нет клавиатуры
- Нет Google API
- Не снимать
Поэтому давайте создадим конфигурацию AVD под названием Archos5:
- В Eclipse запустите Android SDK и AVD Manager.
- Выберите «Виртуальные устройства» из опций слева
- Нажмите кнопку «Создать», чтобы создать новую конфигурацию AVD
- Назовите AVD: «Archos5»
- Выберите цель: «Android 1.6 API Level 5»
- Введите размер SD-карты: «2 ГБ»
- Введите сведения о скине: «WVGA800»
- Отредактируйте свойство оборудования для абстрактной плотности ЖК-дисплея: «194»
- Добавить свойство оборудования для поддержки DPad: «Нет»
- Добавить еще одно свойство оборудования для поддержки трекбола: «Нет»
- Добавить еще одно свойство оборудования для поддержки клавиатуры: «Нет»
- Добавить еще одно свойство оборудования для поддержки камеры: «Нет»
- Добавить еще одно свойство оборудования для поддержки GSM модема: «Нет»
- Сохранить AVD
Теперь вы создали AVD, который может использоваться эмулятором Android, чтобы быть похожим на интернет-планшет Archos 5 и вести себя как он. Если вы запустите приложение Android в эмуляторе во время этого AVD, вы увидите, что экран очень похож на тот, который вы видели на реальном устройстве. На следующем фото справа показан эмулятор Android с использованием Archos5 AVD и реальный интернет-планшет Archos 5 слева.
Шаг 7: Использование определенного AVD с эмулятором Android
Чтобы использовать созданные вами AVD, вам нужно запустить эмулятор Android, назначив ему соответствующий AVD. Самый простой способ сделать это из Eclipse — это выбрать проект Android и обновить его конфигурацию Debug или Run, чтобы настроить его на ручной режим или конкретное AVD по имени. Когда вы запускаете или отлаживаете приложение, будет загружен соответствующий AVD (если вы его выбрали), или вам будет предложено вручную выбрать подходящий AVD из средства выбора устройств Android, как показано ниже.
Если вы хотите иметь возможность контролировать размер эмулятора на экране, вам нужно использовать кнопку «Пуск…» из «Выбор устройства» или из Android SDK и AVD Manager. Вы увидите следующий диалог:
Убедитесь, что вы выбрали правильные цифры для дисплея вашего рабочего стола и размера экрана устройства. На моем 24-дюймовом мониторе с разрешением экрана 1920×1200 dpi составляет 94. Вам нужно будет рассчитать это для вашего собственного монитора или экрана ноутбука.
Шаг 8: Быть практичным
Хотя теперь вы можете эмулировать устройство гораздо более реалистичным способом, у этого есть определенные недостатки. Во-первых, вы все еще только подражаете, как мы обсуждали. Во-вторых, и что более важно, некоторые из этих настроек значительно затрудняют использование эмулятора. Например, если вы решите отключить клавиатуру, эмулятор выполнит это, и вы будете вынуждены использовать экранную клавиатуру в Android. Кроме того, если вы отключите оборудование GSM, у вас не будет возможности установить соединение для передачи данных, так как опция Wi-Fi также не работает.
Наконец, размер SD-карты напрямую занимает столько места на вашем компьютере. Убедитесь, что вы используете достаточно большой размер SD-карты для тестирования вашего приложения, но нет реальной необходимости точно имитировать размер SD-карты. SD-карты также могут быть заменены пользователем, поэтому вы не можете гарантировать, что у пользователя все еще есть оригинальная карта. Итак, вы должны решить, какая эмуляция наиболее важна для вас. Кроме того, полная эмуляция может быть наиболее полезной при использовании с инструментами автоматического тестирования, а не людьми.
Вывод
Из этого руководства вы узнали, как создавать виртуальные устройства Android (AVD) для эмуляции многих популярных устройств Android, в том числе: HTC Evo 4G, Google Nexus One, Motorola Droid, T-Mobile G1 и интернет-планшета Archos 5.
Эмулятор Android — это самый важный инструмент разработчика для разработки и публикации приложений Android, но он эффективен, если он фактически эмулирует соответствующие целевые устройства. Вот где создание подробных конфигураций AVD для целевых телефонов становится необходимым. Тем не менее, важно помнить, что эмулятор просто притворяется, а не использует аппаратные и программные возможности и ограничения, уникальные для этого устройства. Чтобы убедиться, что ваше приложение работает должным образом на данном устройстве, вы всегда должны по возможности проверять его на реальном оборудовании. Один и тот же AVD можно использовать для тестирования нескольких приложений, или можно создать несколько AVD для тестирования разных конфигураций устройства для одного приложения.
Если у вас есть какие-либо вопросы по поводу этого урока, свяжитесь с нами. Дополнительную информацию о виртуальных устройствах Android (AVD) можно найти в документации по Dev Guide на веб-сайте разработчиков Android .
Мы надеемся, что вам понравился этот урок, и с нетерпением ждем ваших отзывов!
Об авторах
Разработчики мобильных приложений Лорен Дарси и Шейн Кондер являются соавторами нескольких книг по разработке Android: углубленная книга по программированию под названием « Разработка беспроводных приложений для Android» и « Разработка Android-приложений Sams TeachYourself за 24 часа» . Когда они не пишут, они тратят свое время на разработку мобильного программного обеспечения в своей компании и оказание консультационных услуг. С ними можно связаться по электронной почте [email protected] , через их блог на androidbook.blogspot.com и в Twitter @androidwireless .