|
Компания Google представила второй квартальный релиз открытой мобильной платформы Android 16 (QPR2). Связанный с новым выпуском исходный код размещён в Git-репозитории проекта (ветка android-16.0.0_r4). Сборки прошивки подготовлены для устройств Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9a/9 Pro/9 Pro XL/9 Pro Fold, Pixel Fold и Pixel Tablet. В ближайшие месяцы прошивки с новой версией ожидаются для смартфонов Samsung, Honor, iQOO, Lenovo, Motorola, Nothing, OnePlus, Oppo, realme, Sharp, Sony, Tecno, vivo и Xiaomi. Дополнительно будут сформированы универсальные сборки GSI (Generic System Images), подходящие для разных устройств на базе архитектур ARM64 и x86_64.
Выпуск Android 16 QPR2 сформирован в рамках нового графика разработки, в соответствии с которым каждый год формируется не один значительный релиз Android, а два выпуска - первый во втором квартале (QPR1), а второй - в четвёртом квартале (QPR2). В летний релиз вошли значительные новшества, изменения поведения в SDK и новые API. Зимний релиз содержит улучшения, новые API и изменения, не влияющие на совместимость с приложениями.
Основные новшества Android 16 QPR2:
- Добавлена возможность запуска графических приложений, собранных для Linux. Запуск осуществляется через приложение Linux Terminal, позволяющее запустить в окружении Android виртуальную машину с Debian GNU/Linux, в которой можно выполнять обычные Linux-приложения. Для запуска графического окружения в приложение Linux Terminal добавлена кнопка "Display", включающая перенаправление графики через компоненты в основном окружении Android. После активации кнопки "Display" в терминале можно запустить композитный сервер Weston, предоставляющий минималистичный оконный сеанс, а затем использовать его для запуска любых графических приложений, например, продемонстрирован запуск графического редактора GIMP.
Функциональность виртуальной машины c Linux развивается в рамках проекта Ferrochrome. В гостевом окружении запускается Debian GNU/Linux. Для виртуализации используется фреймворк AVF (Android Virtualization Framework), реализованный на базе гипервизора KVM и инструментария crosvm. Графическое окружение использует протокол Wayland и основано на композитном сервере Weston. Для аппаратного ускорения графики задействован VirGL - виртуальный GPU Virgil3D. Запуск приложений, собранных для X11, производится при помощи DDX-компонента XWayland.
- Реализована расширенная тёмная тема оформления (Expanded Dark Theme), которая автоматически инвертирует цвета в приложениях, не предоставляющих тёмную тему оформления. Необходимость инвертирования определяется отдельно для каждого приложения на основе атрибута isLightTheme. Инвертирование применяется к элементам интерфейса на базе Android Views, Composables и WebViews, но не используется для приложений с собственными движками отрисовки, например, на базе фреймворка Flutter.
- Предоставлена возможность выбора специфичных форм пиктограмм, которые будут применены ко всем показываемым пиктограммам и ярлыкам каталогов.

- Для приложений, не предоставляющих отдельные варианты пиктограмм для тем оформления, реализована возможность автоматической генерации пиктограмм, стилизованных под темы оформления. При генерации к имеющейся пиктограмме запуска приложения применяется цветовой фильтр.
- Предоставлена возможность продолжения интерактивного взаимодействия с приложением после открытия системного диалога Share (Поделиться) и обновления содержимого интерфейса приложения в процессе выбора обработчика обмена данными.
- В Android Runtime (ART) добавлен генеративный сборщик мусора (Generational Concurrent Mark-Compact Garbage Collector), использующий раздельную обработку "старых" и "молодых" объектов, что повышает эффективность очистки недавно созданных объектов с небольшим временем жизни. Применение генеративного сборщика мусора уменьшает риск приостановок во время выделения ресурсов и снижает нагрузку на CPU, что повышает эффективность потребления энергии.
- Расширены средства для анализа взаимодействия пользователей с виджетами - приложение теперь могут получать метрики о событиях взаимодействия, таких как клики, прокрутки и показы (impression).
- Реализован вывод предупреждения об отсутствии в отлаживаемом приложении выравнивания памяти по границе страниц, размером 16 КБ. В будущем для отдельных архитектур ожидается переход на использование страниц размером 16 КБ вместо 4 КБ, что позволит повысить производительность программ, интенсивно работающих с памятью.
- Добавлен программный декодировщик для звукового формата IAMF (Immersive Audio Model and Formats), применяемого для распространения объёмного звука (учитывает распространение звуковых сигналов в трёхмерном пространстве для воссоздания звучания, максимально близкого к естественному).
- В интерфейс выбора устройства воспроизведения (Output Switcher) интегрирована возможность предоставления общего доступа к звуку через Bluetooth LE, не требующая отдельного изменения настроек Bluetooth.
- В систему Health Connect добавлена поддержка автоматического отслеживания числа пройденных шагов, используя доступные датчики. Доступ к информации о числе шагов предоставляется приложениям, имеющим права доступа READ_STEPS. Новый метод позволяет упростить код в приложениях и снизить энергопотребление при отслеживании шагов.
Health Connect обеспечивает централизованное хранение данных с фитнес-браслетов и прочих устройств, имеющих отношение к здоровью пользователя, и организует совместный доступ разных приложений к данным о здоровье.
- Добавлен новый API Data Transfer для повышения надёжности миграции данных между устройствами на базе Android и iOS.
- Добавлен API для верификации разработчиков в процессе установки APK-пакетов. В утилиту ADB добавлены команды для симуляции верификации (возможность установки приложений без верификации, используя ADB, останется неизменной).
- Обеспечена защита SMS с одноразовыми паролями (OTP). Для защиты от перехвата одноразовых паролей вредоносными приложениями доставка SMS с хэшем для сервиса SMS Retriever станет задерживаться на три часа для большинства приложений. До истечения этого времени широковещательная отправка события RECEIVE_SMS будет заблокирована, а запросы к БД c SMS отфильтрованы.
- Добавлено новое системное состояние блокировки "Secure Lock Device", при активации которого (например, через службу поиска потерянного устройства "Find My Device") устройство будет сразу заблокировано и потребует ввода PIN-кода или пароля для разблокировки. Уведомления и напоминания в данном режиме будут скрыты c экрана блокировки, а биометрическая разблокировка временно отключена.
|