Документация

Управление эмулятором для адаптивной разработки приложений

2 минуты чтения
Посмотреть профиль Роба Орджиу
Rob Orgiu инженер по связям с разработчиками

Адаптивная разработка приложений является основополагающей для Android, но чтобы убедиться, что всё выглядит хорошо и каждая функция работает как положено, требуется множество тестов на разных устройствах. Или нет?

Ну, да… и нет! Хотя Android Studio поставляется в комплекте с эмулятором Resizable Emulator, позволяющим тестировать макеты вручную, существует более быстрый и удобный способ управления форм-факторами непосредственно из терминала. Используя консольные команды, запускаемые по принципу «выполнил и забыл» с помощью сочетания клавиш adb emu, вы можете выполнять команды, которые немедленно возвращают управление вызывающей оболочке.

Если у вас одновременно запущено несколько эмуляторов, вы можете выбрать конкретное виртуальное устройство, передав в качестве параметра последовательный порт ярлыка:

adb -s <serial> emu <command> <parameter>

Первым делом: сложите и разверните.

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

adb emu fold

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

adb emu unfold

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

Вращение, вращение, вращение

Корректная обработка изменений ориентации экрана — краеугольный камень разработки адаптивных приложений. Вы можете программно запускать повороты устройства, чтобы проверить, насколько хорошо ваше приложение обрабатывает изменения конфигурации, включая восстановление состояния. Следующая команда поворачивает устройство на 90° по часовой стрелке:

adb emu rotate

Имитация поз с помощью датчиков

А как насчет размещения эмулятора в определенном физическом положении, например, в режиме настольного компьютера? Самый простой подход — запросить количество доступных положений с помощью команды `.

Для начала перечислите все доступные датчики и их текущее состояние:

adb emu posture

В результате выполнения этой команды будет получен список позиций, аналогичный следующему:

Usage: "posture <posture_id>" 1: closed	2: half-opened	3: opened	…

Затем вы можете активировать положение «стол», используя идентификатор полуоткрытого состояния:

adb emu posture 2
Примечание: Не все положения поддерживаются каждым виртуальным устройством. Стандартные шаблоны AVD, такие как Pixel Fold или Resizable AVD, поддерживают только положения 1, 2 и 3. Попытка установить положение 4 или 5 в этих шаблонах приведет к ошибке KO: Failed to set posture (Не удалось установить положение).

А что насчёт эмулятора с изменяемым размером?

Эмулятор с изменяемым размером обладает невероятной способностью легко менять свой размер. С помощью команды adb emu вы можете свободно перемещать его одним нажатием. Прежде чем вносить какие-либо изменения, достаточно одного вызова для запроса доступных предустановок изменения размера:

adb emu resize-display

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

KO usage: "resize-display <index>" 0: phone	1: unfolded	2: tablet

Теперь, при использовании параметра resize-display с нужным ID, эмулятор будет изменен до желаемого размера:

adb emu resize-display 1

Оптимизируйте тестирование уже сегодня!

Вот и всё! Интегрировав команды, запускаемые один раз и забывающиеся, в вашу работу с командной строкой, вы значительно экономите время и ресурсы по сравнению с одновременным запуском нескольких эмуляторов.

Сейчас самое время начать экспериментировать. Если вы раньше не использовали эти сочетания клавиш в консоли, откройте терминал, запустите эмулятор, перейдите к документации и начните прямо сегодня!

Автор:
Продолжить чтение