Компания Google представила первую тестовую версию открытой мобильной платформы Android 13. Релиз Android 13 ожидается в третьем квартале 2022 года. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки подготовлены для устройств Pixel 6/6 Pro, Pixel 5/5a, Pixel 4/4a/4.
Ключевые новшества Android 13:
- Реализован системный интерфейс выбора фотографий и видео, а также API для выборочного предоставления доступа приложений к выбранным файлам. Возможна работа как с локальными файлами, так и с данными, размещёнными в облачных хранилищах. Особенностью интерфейса является то, что он позволяет предоставить доступ к отдельным изображениям и видео без открытия приложению полного доступа на просмотр всех мультимедийных файлов в хранилище. Ранее похожий интерфейс был реализован для документов.
- Добавлен новый тип полномочий для Wi-Fi, предоставляющий приложениям, предназначенным для поиска беспроводных сетей и подключения к точкам доступа, возможности доступа к подмножеству API управления Wi-Fi, за исключением вызовов, связанных определением местоположения (ранее приложения, осуществляющие подключение к Wi-Fi, получали и доступ к информации о местоположении).
- Добавлен API для размещения кнопок в секции с быстрыми настройками в верхней части выпадающей панели уведомлений. При помощи данного API приложение может вывести запрос на размещение своей кнопки с быстрым действием, позволяющий пользователю добавить кнопку не покидая приложение и отдельно не переходя к настройкам.
- Предоставлена возможность адаптация фона пиктограмм любых приложений к цветовой схеме темы оформления или цвету фонового изображения.
- Добавлена возможность привязки к приложениям индивидуальных настроек языка, отличающихся от настроек языка, выбранных в системе.
- Оптимизирована операция переноса слов (разрыв не умещающихся в строку слов с использованием дефиса). В новой версии производительность переноса увеличена на 200% и теперь практически не влияет на скорость отрисовки.
- Добавлена поддержка программируемых графических шейдеров (объектов RuntimeShader), определяемых на языке
AGSL (Android Graphics Shading Language), представляющем собой подмножество языка GLSL, адаптированное для использования с движком рендеринга платформы Android. Подобные шейдеры уже используются в самой платформе Android для реализации различных визуальных эффектов, таких как пульсация, размытие и растягивание при прокрутке за границу страницы. Подобные эффекты теперь можно создавать и в приложениях. - Базовые Java-библиотеки платформы и средства разработки приложений обновлены до OpenJDK 11. Через Google Play обновление также доступно для устройств на базе Android 12.
- В рамках проекта Mainline, позволяющего обновлять отдельные системные компоненты без обновления платформы целиком, подготовлены новые обновляемые системные модули. Обновления затрагивают не привязанные к оборудованию компоненты, которые загружаются через Google Play отдельно от OTA-обновлений прошивки от производителя. Среди новых модулей, которые смогут обновляться через Google Play без обновления прошивки – Bluetooth и Ultra wideband. Через Google Play также распространяются модули с Photo picker и OpenJDK 11.
- Проведена оптимизация средств для построения интерфейса приложений для более крупных экранов, применяемых на планшетах, складных устройствах с несколькими экранами и ноутбуках Chromebook.
- Упрощено тестирование и отладка новых возможностей платформы. Изменения теперь можно выборочно включать для приложений в разделе настроек для разработчиков или через утилиту adb.
Дополнительно опубликован февральский набор исправлений проблем с безопасностью для Android, в котором устранено 37 уязвимостей, из которых 2 уязвимостям присвоен критический уровень опасности, а остальным – высокий уровень опасности. Критические проблемы позволяют совершить удалённую атаку для выполнения своего кода в системе. Проблемы, помеченные как опасные, позволяют через манипуляции с локальными приложениями выполнить код в контексте привилегированного процесса.
Первая критическая уязвимость (CVE-2021-39675) вызвана переполнением буфера в функции GKI_getbuf (Generic Kernel Image) и позволяет удалённо получить привилегированный доступ к системе без каких-либо действий со стороны пользователя. Детали об уязвимости пока не раскрываются, но известно, что проблема затрагивает только ветку Android 12. Вторая критическая уязвимость (CVE-2021-30317) присутствует в закрытых компонентах для чипов Qualcomm.