Адаптивная разработка приложений является основополагающей для 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
Оптимизируйте тестирование уже сегодня!
Вот и всё! Интегрировав команды, запускаемые один раз и забывающиеся, в вашу работу с командной строкой, вы значительно экономите время и ресурсы по сравнению с одновременным запуском нескольких эмуляторов.
Сейчас самое время начать экспериментировать. Если вы раньше не использовали эти сочетания клавиш в консоли, откройте терминал, запустите эмулятор, перейдите к документации и начните прямо сегодня!
ДокументацияКонфиденциальность пользователей и прозрачность являются основополагающими принципами работы Android. Для лучшего соответствия этим принципам мы обновляем стандартное поведение API Nearby Connections в отношении взаимодействия с радиомодулями устройств.
Wei Wang • 1 мин чтения
Новости о продуктахС выходом Android 17 мы переходим к адаптивному стандарту разработки. Ваши пользователи больше не зависят от одного форм-фактора; они переключаются между телефонами, складными устройствами, планшетами, ноутбуками, автомобильными дисплеями и иммерсивными средами XR в течение всего дня.
Fahd Imtiaz • 3 мин чтения
Новости о продуктахС появлением Pixel 11 Pro Fold, Pixel Watch 5 и всего семейства Pixel пользователи получают возможность беспрепятственно переключаться между экранами разных размеров, различными положениями тела и интеллектуальными функциями.
Получайте еженедельно самые свежие новости о разработке Android прямо на свою электронную почту.




