Бета-выпуск платформы Android P

Компания Google представила бета-версию открытой мобильной платформы Android P. Релиз Android P, который скорее всего будет поставляться под номером Android 9, ожидается в третьем квартале 2018 года. Для оценки новых возможностей платформы предложена программа бета-тестирования, в рамках которой экспериментальную ветку можно установить и поддерживать в актуальном виде через штатный интерфейс установки обновлений (OTA, over-the-air), без необходимости ручной замены прошивки. Обновления доступны для устройств Pixel, Pixel XL Pixel 2, Pixel 2 XL, Essential Phone, Nokia 7 plus, Oppo R15 Pro, Sony Xperia XZ2, Vivo X21UD, Vivo X21 и Xiaomi Mi Mix 2S.

Ключевые новшества Android P:

В настройки добавлен режим адаптивного использования аккумулятора, позволяющий ограничить расходование ресурсов аккумулятора для редко используемых приложений. Для вычисления приоритетов доступа к системным ресурсам применяется алгоритм машинного обучения, которые определяет какие из приложений наиболее важны пользователю. На основании приоритетов приложения объединяются в группы с различными ограничениями активности (ограничения на запуск заданий, сетевую активность, интенсивность пробуждения и отправку сообщений Firebase); Реализована система рекомендаций App Actions, при помощи которой приложение может быть рекомендовано пользователю в тот момент, когда он наиболее заинтересован в выполнении действий, которые может обеспечить данная программа. Система основана на применении методов машинного обучения и нацелена на предоставлении подсказки о наличии нужных приложений, которые будут оптимальны в контексте текущего сеанса работы пользователя в интерфейсе запуска приложений, при выделении текста, при поиске, в Google Play и при использовании интерактивного ассистента; Представлена система адаптивного изменения яркости (Adaptive Brightness), которая использует машинное обучение для установки наиболее оптимальной для конкретного пользователя яркости экрана с учётом его предпочтений (система обучается на то какую яркость выставляет пользователь в разных условиях); Поддержка слайсов (Slices), при помощи которых приложения могут предоставить доступ к удалённому контенту в различных местах, например, в интерфейсе поиска и в интерактивном ассистенте. Слайсы позволяют организовать интерактивное взаимодействие с использованием переключателей, опций, ползунков, прокрутки и других элементов интерфейса; Улучшен вывод уведомлений о поступлении новых сообщений. Подобные уведомления теперь могут выводиться в стиле мессенджера с показом нити разговора, привязкой к отправителям, подсказками для быстрого ответа и поддержкой вставки изображений. Реализована возможность применения технологии Smart Reply для быстрого ответа на уведомления о поступлении новых сообщений (Smart Reply использует машинное обучение для автоматического формирования наиболее подходящего ответа); Новая система навигации, упрощающая переход между разными режимами работы интерфейса (домашний экран, обзор недавно используемых приложений, список приложений) при помощи одной интерактивной кнопки ползунка. В обзоре запущенных приложений значительно увеличены эскизы экрана, что позволяет оценить текущую активность в приложениях, добавлена возможность поиска и поддержка перехода к общему списку программ в один клик; Добавлен новый виджет «Увеличительное стекло», упрощающий выделение текста и точное управление курсоров в тексте. Виджет автоматически может применяться в любых формах ввода на основе класса TextView, для адаптации к другим интерфейсам ввода предложен Magnifier API; Добавлен новый интерфейс для определения приложений, активно расходующих заряд аккумулятора при фоновой работе. Подобные приложения теперь отображаются в разделе настройки параметров аккумулятора и могут быть в один клик ограничены от выполнения фоновых работ и доступа к сети; Добавлен API динамической обработки звука (Dynamics Processing API), позволяющий увеличить акустическое качество звука в приложениях за счёт изоляции определённых частот и манипуляции уровнем громкости (например, можно сделать более слышимым голос вдалеке, отрезав сопутствующие шумы и увеличив громкость для определённых частот); Реализован режим «не беспокоить», при котором отключаются звонки, сигналы уведомлений и всплывающие диалоги. Для быстрого включения режима достаточно перевернуть телефон экраном вниз; Добавлены новые приложения: Dashboard для анализа активность пользователя на смартфоне, показывает с какими приложениями дольше всего поводит время пользователь, как часто разблокируется телефон, как много поступает уведомлений. App Timer для задания ограничения времени работы в определённых приложениях, при приближении к установленному лимиту показывается специальное уведомление. Wind Down для индикации, что пора спать и автоматического включения режима «не беспокоить» на ночь; Добавлен универсальный диалог для биометрической аутентификации с использованием различных видов сенсоров (отпечатки пальцев, распознавание лица, анализ радужной оболочки глаза). Приложения теперь могут использовать штатный API BiometricPrompt для вывода диалога биометрической аутентификации вместо создания собственных диалогов; Добавлена поддержка защищённых подтверждений (Protected Confirmation), использующих цифровые подписи на уровне TEE (Trusted Execution Environment) для гарантирования, что определённая строка была показана пользователю и он согласился с выполнением операции. Добавлен новый тип хранилищ ключей StrongBox, предоставляющий более надёжную защиту закрытых ключей за счёт их хранения и обработки в специальных аппаратных окружениях с отдельным CPU, памятью и Flash; Для приложений заблокирован доступ к информации о сетевой активности в системе, включающей сведения о том, к каким хостам осуществляются сетевые подключения (функциональность netstat); Добавлена поддержка технологии «DNS over TLS», позволяющей защитить канал связи с DNS-сервером. «DNS over TLS» отличается от «DNS over HTTPS» применением штатного протокола DNS (обычно используется сетевой порт 853), завёрнутого в шифрованный канал связи, организованный при помощи протокола TLS с проверкой валидности хоста через TLS/SSL-сертификаты, заверенные удостоверяющим центром (в «DNS over HTTPS» резолвер обрабатывает запросы через Web API);

Поддержка протокола Wi-Fi RTT (WiFi Round-Trip-Time, IEEE 802.11mc) для получения информации о расстоянии до точек доступа, что можно использовать в приложениях для определения местоположения и навигации внутри зданий. Функциональность доступна через новый RTT API и требует наличия в устройстве поддержки IEEE 802.11mc. Зная расстояние до 3 и более точек доступа можно рассчитать позицию смартфона в пространстве с точностью в 1-2 метра, чего достаточно для организации навигации в помещениях и для активации привязанных к местоположению сервисов. Расстояние определяется без соединения с точкой доступа, что позволяет сохранить приватность; Приложениям предоставлены средства для полноэкранного вывода на устройствах с безрамочными экранами. Для управления отображением контента на таких экранах добавлен API DisplayCutout, при помощи которого приложение может проверить наличие на экране неотображаемых областей (например, закругление экрана и островок для фронтальной камеры, громкоговорителя и сенсоров), определить какие части изображения попадут в неотображаемые области и выбрать режим размещения контента относительно этих областей. В средства для разработчиков добавлена возможность симуляции подобных экранов на любых устройствах, что позволяет протестировать корректность отображения контента приложений; Добавлен Multi-camera API, позволяющий организовать одновременный доступ сразу к нескольким камерам. Например, на устройствах с двумя раздельными фронтальными или задними камерами можно реализовать такие функции как бесшовное масштабирование, размытие фона (боке) и стереовидение. Для камеры также добавлен параметр Session, позволяющий сократить задержку перед началом записи, и параметр Surface для организации доступа приложений к непрерывному потоку данных с камеры. Добавлены API для использования подсветки ярким экраном в качестве фотовспышки и для доступа к данным оптического стабилизатора изображения для создания спецэффектов и программной стабилизации; Добавлен класс ImageDecoder, позволяющий декодировать изображение из буфера, файла или URL в виде битмапа для последующего использования с классами Bitmaps и Drawable. По сравнению с классом BitmapFactory, который теперь объявлен устаревшим, в ImageDecoder поддерживается масштабирование, пошаговое декодирование, постобработка (например, можно применить различные эффекты, такие как закругление углов) и декодирование анимированных изображений; Добавлена встроенная поддержка воспроизведения HDR-видео (профиль HDR VP9 Profile 2), в том числе на устройствах поддержкой HDR можно просматривать HDR-фильмы, доступные на YouTube и Play Movies; Добавлена поддержка кодирования изображений в формате HEIF (HEIC у Apple), использующего эффективные методы сжатия HEVC (H.265), позволяющего хранить в одном файле несколько снимков или видео и поддерживающего операции кадрирования без перекодирования; JobScheduler, управляющий запуском плановых заданий и применяющий ограничения при работе приложений в фоновом или спящем режиме, теперь может учитывать состояние сетевой подсистемы при выполнении работ, связанных с сетевым взаимодействием. В том числе JobScheduler может учитывать предоставляемые операторами сингналы о состоянии сети, оценивать перегруженность или наличие безлимитного доступа. С другой стороны, заявленные для выполнения задачи могут объявлять приблизительный размер данных, который потребуется передать/отправить, характер трафика (например, упреждающая загрузка) и режим работы сети (безлимитный или ограниченный). Сопоставляя информацию о состоянии сети и параметры сетевых задач JobScheduler может принимать решения по запуску или приостановке определённых задач, например, при нахождении в сети с ограниченным трафиком может отложить большие сетевые запросы, а для безлимитного соединения разрешить упреждающую загрузку; Добавлен API TextClassifier для использования моделей машинного обучения для классификации текстов, например, для выделения дат, номеров рейсов и других типов информации из текста. Модели машинного обучения теперь могут обновляться прямо из Google Play. Через Firebase доступен новый ML Kit, предоставляющий набор кросс-платформенных API для выполнения в приложениях таких задач, как распознавания текста, определение лиц, расстановка меток для фотографий и т.п.

До версии 1.1 обновлён API Neural Networks, предоставляющий приложениям возможности по задействованию средств аппаратного ускорения для систем машинного обучения. API позиционируется как базовая прослойка для функционирования в Android фреймворков машинного обучения, таких как TensorFlow Lite и Caffe2. Для использования на мобильных устройствах предложен ряд готовых моделей нейронных сетей, в том числе MobileNets (распознавание объектов на фотографиях), Inception v3 (компьютерное зрение) и Smart Reply (подбор вариантов ответа на сообщения). В новом выпуске добавлен набор новых операторов Pad, BatchToSpaceND, SpaceToBatchND, Transpose, Strided Slice, Mean, Div, Sub и Squeeze. Для устройств Pixel 2 включён драйвер Qualcomm Hexagon HVX для ускорения квантованных моделей;

Улучшены средства автозаполнения полей, предоставляемые фреймворком Autofill. API расширен возможностями, позволяющими менеджерам паролей расширять функциональность Autofill, например, производить фильтрацию данных, проверку ввода и применять режим совместимости для приложений без прямой поддержки Autofill; Добавлена реализация GlobalPlatform Open Mobile API (OMAPI API) для доступа к защищённым элементам (Secure Elements, SE) при проведении платежей по смарткартам и реализации различных защищённых сервисов. Для абстрагирования доступа к аппаратным защищённым элементам (eSE, UICC и т.п.) предусмотрена специальная HAL-прослойка; В рамках инициативы по уходу от использования нешифрованного HTTP в пользу TLS/HTTPS, настройки по умолчанию в NSC (Network Security Configuration) изменены для блокировки всего незашифрованного трафика. При использовании Network Security Configuration все соединения теперь должны создаваться поверх TLS; Добавлены новые правила SELinux, блокирующие доступ приложений к камере, микрофону и всем сенсорам, в случае работы процессов в фоновом режиме (нахождение в состоянии idle). Изменение поможет бороться с вредоносным и шпионским ПО, осуществляющим скрытую запись случайных разговоров или создание снимков окружающего пространства; В релизе планируется включить шифрование резервных копий с использованием секретной фразы, хранимой на стороне клиента, а также добавить возможность генерации случайных MAC-адресов для борьбы с отслеживанием беспроводными точками доступа; Продолжена оптимизация производительности и эффективности работы ART runtime. Профили выполнения изменены для задействования дополнительных оптимизаций и сокращения потребления памяти в скомпилированном коде приложений. Для популярных приложений размер DEX-файлов сокращен в среднем на 11%, что привело к снижению потребления системной памяти и ускорению запуска приложений; Проведены оптимизации для увеличения производительности кода на языке Kotlin. В компилятор добавлены изменения, оптимизирующие обработку циклов; Продолжена работа по снижению энерогопотребления в режимах Doze и App Standby, а также ограничению фоновой активности приложений для продления автономной работы устройств; Представлен набор библиотек Android Jetpack, предоставляющий различные типовые компоненты Android и расширения для разработки на языке Kotlin, обновляемые независимо и сохраняющие обратную совместимость. Подготовлена новая библиотека расширений AndroidX; Предложен новый формат распространения приложений Android App Bundle, позволяющий сформировать набор, включающий всё, что нужно приложению для работы на любом устройстве — языковые наборы, поддержка разных размеров экрана и сборки для различных аппаратных платформ. При загрузке приложения из Google Play на систему пользователя доставляются только код и ресурсы, необходимые для работы на конкретном устройстве, ничего лишнего не загружается. Поддерживается также доставка дополнительных модулей-расширений для уже установленных программ; В рамках подготовки к обязательной поддержке 64-разрядной архитектуры, в Google Play начиная с ноября 2018 года станут приниматься только новые приложения и обновления к существующим приложениям, поддерживающие как минимум APIv26 (SDK от Android 8), т.е. включающие 64-разрядные варианты библиотек, помимо 32-разрядных.

Кроме того, можно отметить выход майского набора исправлений проблем с безопасностью для Android, в котором устранены 23 уязвимости, из которых двум присвоен критический уровень опасности, а остальным высокий уровень опасности. Критические уязвимости найдены в компонентах к чипам NVIDIA и Qualcomm. Уязвимость в компоненте NVIDIA TEE позволяет любому локальному приложению выполнить код в контексте изолированного окружения TEE (Trusted Execution Environment). Уязвимость в беспроводном драйвере для чипов Qualcomm позволяет выполнить код с повышенными привилегиями при обработке специально оформленного файла.

Источник: opennet.ru