Використання Intel HAXM при розробці додатків для Android Wear і TV

За плечима платформи Android довгий шлях. Все почалося зі смартфонів, потім були планшети, далі – пристрої, що працюють під управлінням Google TV, Android Wear, Android TV (замість Google TV), і, нарешті Android Auto. Зборка і тестування додатків, які призначені для всього цього різноманіття, можуть стати непростими завданнями для розробників. А якщо додати сюди різні форм-фактори та дозволу екранів пристроїв, можна швидко зіткнутися з проблемою всебічної перевірки і тестування програм. Як же бути? На щастя, у нас є Intel HAXM.


Попередні відомості
Intel Hardware Accelerated Execution Manager (HAXM) – це Android-емулятор, який підтримує апаратну віртуалізацію. Він створює невисоку навантаження на систему, володіє відмінною продуктивністю і швидким інтерфейсом.

Використовуючи Intel HAXM, можна запустити кілька примірників Android-емулятор на одному комп'ютері, не особливо турбуючись про продуктивності, про навантаження на систему або про «гальмах» інтерфейсу. Подібний підхід може бути досить корисним в ітеративному процесі створення і тестування додатків, він здатний дати величезний приріст продуктивності праці розробників.

Образи Android-емуляторів, розраховані на архітектури, відмінні від x86, можуть повільно запускатися і з затримкою реагувати на команди користувача. Крім того, на відміну від деяких Android-емуляторів сторонніх виробників, з допомогою Intel HAXM ви отримуєте можливість працювати з останніми версіями API і платформ Android відразу ж після їх випуску.

Здесь ви можете знайти докладне керівництво по роботі з HAXM.

У цьому матеріалі ми поговоримо про те, як користуватися можливостями Intel HAXM при створенні додатків, розрахованих на всілякі варіанти платформи Android. Такі додатки можуть працювати на звичайних смартфонах різних форм-факторів, і на пристроях, що несуть на борту Android Wear і Android TV.

Робота з універсальним додатком-прикладом для Android
Компанія Google недавно випустила додаток, на прикладі якого показано, як охопити одній кодовій базою безліч різних Android-пристроїв.

У прикладі продемонстровані передові підходи до розробки універсальних додатків. Для складання проекту скористайтеся інструкціями, які можна знайти за вищезгаданої посиланням. Ми, в даному практичному посібнику, будемо відчувати приклад на x86 HAXM-емуляторах Android TV, Wear і смартфона.

Проект можна імпортувати в Android Studio і скористатися можливостями цієї середи по збірці і запуску програми на емуляторі. Якщо ви віддаєте перевагу працювати з іншою IDE, те, про що піде мова далі, так само виявиться корисним.

Якщо вам близький інтерфейс командного рядка, ви можете просто запустити Gradle-скрипт для складання програми з папки з вихідним кодом прикладу.

gradlew assembleDebug

Результуючий APK-файл можна знайти в папці «mobile/build/outputs/apk/mobile-debug.апк».

Створення AVD для Android TV і Wear
Для початку потрібно переконатися в тому, що у нас є самі свіжі образи емуляторів для платформ Android TV, Wear, а так само – для звичайних смартфонів.

Відкриємо Android SDK Manager. Його можна запустити з інтерфейсу Android Studio або з командного рядка (папка <Android-SDK>/tools повинна бути вказана в змінних середовища) з допомогою такої команди:

> android


Вікно Android SDK Manager. Образи систем, які потрібно завантажити, виділені

Після того, як необхідні пакети завантажені, потрібно, для використання відповідних образів систем, настроювання конфігурації емуляторів (тобто, створити набір AVD). Для цього нам знадобиться Android Virtual Device Manager. Запустимо його з командного рядка:

> android avd


Вікно Android Virtual Device Manager, тут можна створювати нові AVD і настроювати існуючі

Емуляція Android Wear
Створимо конфігурацію віртуального пристрою для Android Wear так, як показано на малюнку нижче.


Налаштування емулятора для Android Wear

Після того, як налаштування виконані, натиснемо кнопку OK, після чого – запустимо емулятор. Для цього його потрібно виділити у вікні AVD Manager і натиснути на кнопку Start. Ось як виглядає вікно емулятора.


Вікно емулятора Android Wear

Для того щоб смартфон міг взаємодіяти з пристроєм, працюючим під управлінням Android Wear (або з відповідним емулятором), потрібно додатковий додаток. Єдиний спосіб встановити цей додаток на пристрій – завантаження з Магазину Google Play. Відповідно, нам знадобиться Android-смартфон, який має доступ до Магазину.

Пристрій повинне бути доступно для ADB. Для того щоб воно змогло підключитися до емулятора, потрібно, щоб і смартфон, і емулятор, присутні в списку пристроїв, який можна отримати наступною командою:
> adb devices



Список підключених пристроїв

Тепер перенаправимо TCP-порти такою командою:

> adb-d forward tcp:5601 tcp:5601

Тепер все готово для сполучення емулятора Android Wear і апаратного пристрою. Залишилося лише запустити на смартфоні Android Wear, і, з його меню, виконати команду підключення до емулятора. Якщо підключення вдалося, екран емулятора буде виглядати так, як показано в лівій частині малюнка. У правій частині показаний екран емулятора, не підключеного до смартфону.


Екрани емулятора Android Wear в підключеному (ліворуч) і непідключеному (праворуч) стані

Докладні відомості про створення додатків для Android Wear можна знайти на тут. APK-файл тестового додатки нічим не відрізняється від інших АПК, його можна встановити на емулятор Android Wear з використанням ADB.

> adb-s emulator-5554 install-r mobile\build\outputs\apk\mobile-debug.apk

Перевірити, чи інстальовано на емуляторі, можна за допомогою такої команди:

> adb-s emulator-5554 shell pm list packages | grep example


Установка програми на емулятор і перевірка установки

Ім'я пакета програм-приклад (com.example.android.uamp) присутній у списку. З командного рядка можна і запустити додаток:

> adb-s emulator-5554 shell monkey-p com.example.android.uamp-c android.intent.category.LAUNCHER 1

Тепер додаток запущено на емуляторі Android Wear

Емуляція Android TV
Створимо конфігурацію віртуального пристрою для Android TV так, як показано на малюнку нижче.


Налаштування емулятора для Android TV

Після установки натискаємо на кнопку OK і запустимо емулятор кнопкою Start у вікні ADV Manager.

Перевірити доступність емулятора для ADB можна такою командою:

> adb devices

Запишіть його або запам'ятайте ідентифікатор емулятора (щось на зразок emulator-55xx). Він знадобиться для зазначення цільового пристрою при роботі з емулятором з допомогою ADB. Для установки програми на емулятор можна скористатися такою командою:

> adb-s emulator-55xx install-r mobile/build/outputs/apk/mobile-debug.apk


Запустити програму на емуляторі Android TV можна так:

> adb-s emulator-55xx shell monkey-p com.example.android.uamp-c android.intent.category.LAUNCHER 1

Ось як додаток виглядає на екрані емулятора.


Додаток, запущене на емуляторі Android TV

Створення і запуск необхідної кількості примірників емуляторів
Якщо в ході розробки і тестування програми виникає необхідність створення і запуску кількох примірників емуляторів – усе це досяжно з використанням Intel HAXM. При установці HAXM можна налаштувати розмір оперативної пам'яті, що відводиться для його роботи. Ось набір конфігурацій AVD для Android Wear, TV і смартфона.


Список віртуальних пристроїв Android

Нижче ви можете бачити додаток-приклад, занедбане одночасно на трьох віртуальних пристроїв (Android TV, Wear і емулятор смартфона). Тут же відображаються відомості про використання CPU. Як видно, всі ці екземпляри емулятора не створюють надмірного навантаження на систему.


Три одночасно запущених емулятора і відомості про навантаження на систему, яку вони створюють

У ході роботи можна налаштовувати виділення пам'яті для емуляторів, оптимізуючи споживання ними системних ресурсів. Для того, щоб переналаштувати параметри виділення пам'яті, задані при установці HAXM, потрібно повторно запустити установку і вказати потрібні параметри.

Підсумки
У цьому матеріалі ми продемонстрували основні можливості Intel HAXM. Тут ви можете знайти подробиці про використання і налаштування Android-емуляторів. Для того щоб перевірити правильність установки HAXM, а так само те, чи використовується він при роботі з емуляторами, зверніться до цьому матеріалу. Сподіваємося, Intel HAXM стане вашим надійним помічником в справі розробки Android-додатків для самих різних пристроїв, що працюють на цій платформі.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.