Примечания к выпуску Android 11

На этой странице кратко описаны основные функции Android 11, а также приведены ссылки на дополнительную информацию. Краткое описание функций организовано в соответствии с местоположением документации по каждой функции на этом сайте.

Архитектура

квоты API

В Android 11 представлена ​​функция квот API, которая ограничивает частоту вызовов определенных API приложениями. Она реализована только в вызовах API JobScheduler . Любые изменения предустановленных ограничений должны пройти тестирование CTS. Вы можете отключить и включить квоты API с помощью метода setEnabled в QuotaTracker.java . По умолчанию функция включена. Отключение этой функции позволяет приложениям вызывать затронутые API без ограничений.

Предоставляются модульные тесты для класса QuotaTracker и связанных с ним классов. Подробная документация находится в комментариях к классу QuotaTracker . Эта функция представляет новый публичный API LimitExceededException .

Загрузчик

Заголовочный файл загрузки версии 3

Android 11 поддерживает заголовочный файл загрузки версии 3. Подробнее см. в разделе «Заголовочный файл образа загрузки» .

Разделы

Загрузочные разделы

В Android 11 представлена ​​концепция универсального образа ядра (Generic Kernel Image). Для обеспечения загрузки произвольного устройства с использованием универсального образа ядра вся информация, специфичная для производителя, выносится из загрузочного раздела и перемещается в загрузочный раздел производителя . Устройство, запускаемое с Android 11, должно поддерживать загрузочный раздел производителя и обновленный формат загрузочного раздела, чтобы пройти тестирование с помощью GKI.

Заголовочный файл загрузки поставщика

Заголовочный файл загрузки поставщика может занимать более одной страницы.

обеспечение соблюдения интерфейсов разделения продукта

В Android 11 раздел product отделен от system раздела и раздела производителя. В рамках этих изменений теперь можно контролировать доступ раздела продукта к нативным и Java-интерфейсам.

Образы восстановления

В Android 11 обновлены требования к образу восстановления и добавлены новые параметры, зависящие от версии, позволяющие включить образ восстановления DTBO/ACPIO в состав загрузочного/восстановительного образа. Подробнее см. раздел «Образы восстановления» .

Мягкие перезапуски

Android 11 поддерживает мягкие перезапуски , которые представляют собой перезапуск процессов в пользовательском пространстве во время выполнения, используемый для применения обновлений, требующих перезагрузки (например, обновлений пакетов APEX).

Ядро

Общие ядра Android

Android 11 вносит существенные изменения в процесс разработки и интеграции общих ядер Android .

Мониторинг ABI ядра Android

В Android 11 появились инструменты мониторинга ABI для стабилизации ABI ядер Android, хранящихся в ядре.

Универсальный образ ядра

В Android 11 представлен Generic Kernel Image (GKI) , который решает проблему фрагментации ядра, объединяя ядро ​​и перенося поддержку SoC и плат из ядра в загружаемые модули.

Модульные ядра

Поддержка модулей ядра

Образ ядра Generic Kernel Image (GKI) может не содержать необходимой поддержки драйверов для монтирования разделов устройством. Чтобы устройство могло монтировать разделы и продолжить загрузку, init на первом этапе улучшена для загрузки модулей ядра, находящихся на виртуальном диске в оперативной памяти (ramdisk). RAMdisk разделяется на общий и сторонний образы ядра. Сторонние модули ядра хранятся на стороннем образе. Порядок загрузки модулей ядра можно настроить.

DebugFS

В Android 11 прекращена поддержка DebugFS на платформе , и требуется, чтобы она не монтировалась и не использовалась на устройствах, находящихся в эксплуатации. Хотя DebugFS была создана для целей отладки, она включалась в пользовательские сборки и сборки usedebug для общих и специфичных для поставщиков компонентов. DebugFS объявляется устаревшей, поскольку она создает:

  • Нестабильный и недокументированный API. Android зависит от четко определенных и стабильных интерфейсов ядра Linux и HAL для корректной работы. Тесты VTS проверяют наличие и корректность этих интерфейсов. DebugFS невозможно проверить, поскольку его ABI нестабилен и не документирован.

  • Низкое качество кода. Поскольку узлы, добавленные в debugfs , предназначены для отладки, они не проверяются и не тестируются так тщательно, как узлы в других файловых системах. Когда в debugfs обнаруживаются ошибки, они рассматриваются как менее приоритетные, что способствует возникновению уязвимостей безопасности, исходящих из debugfs .

  • Уязвимости безопасности. DebugFS был создан с целью помочь разработчикам ядра в отладке системы, а не с акцентом на безопасность. Не существует эффективного метода проверки безопасности всех узлов DebugFS, доступных на производственном устройстве. Хотя ужесточение политики безопасности (SEpolicy) снизило серьезность уязвимостей безопасности, исходящих от debugfs , запрет монтирования debugfs — единственный способ полностью исключить поверхность атаки.

В Android 11 VTS обеспечивает отключение параметра CONFIG_DEBUG_FS в конфигурации ядра устройства и не указывает debugfs в каталоге /proc/filesystems .

ИОН-кучи для GKI

В Android 11 ядро ​​Android Common Kernel v5.4 представляет собой структуру для модульной организации специфичных для каждого производителя куч ION, сохраняя при этом встроенный основной драйвер ION, что позволяет производителям оборудования сохранять модификации драйвера ядра ION при использовании универсального образа ядра (GKI).

Модульные системные компоненты

Автоматический отзыв разрешений

В Android 11 модуль PermissionsController может автоматически отзывать разрешения во время выполнения для приложений, которые не использовались в течение длительного периода времени.

Обновления основного модуля

В Android 11 представлено несколько новых модулей, а также обновлены некоторые существующие модули , которые были представлены в Android 10.

Наложения ресурсов времени выполнения

В Android 11 и более поздних версиях поддерживается новый механизм для RRO ( Reserved Resource Objects). Улучшения включают в себя зарезервированное пространство идентификаторов ресурсов, файл res/xml/overlays.xml для перечисления целевых ресурсов, правило сборки Soong для наложений, файл OverlayConfig для настройки изменяемости, состояния по умолчанию и приоритета наложений.

Vendor NDK

Снимки поставщиков

Android 11 поддерживает артефакты сборки VNDK snapshot и vendor snapshots , которые можно использовать для сборки vendor.img независимо от версии Android в исходном коде. Это позволяет использовать смешанные версии образов, например, более старый образ vendor и более новый образ системы.

Аудио

Для захвата звука с FM-тюнера требуются привилегированные права доступа.

В Android 11 источник звука MediaRecorder.AudioSource.RADIO_TUNER отображается как @SystemApi, и его использование при захвате звука с помощью AudioRecord или MediaRecorder требует привилегированного разрешения android.permission.CAPTURE_AUDIO_OUTPUT

Звуковые эффекты

Начиная с Android 11, производители устройств получили возможность автоматически подключать и включать определенные звуковые эффекты при выборе того или иного аудиоустройства для записи или воспроизведения звука.

Ограничение по типу устройства

В Android 11 мы сняли ограничение на количество типов аудиоустройств, что позволяет добавлять новые типы аудиоустройств.

Выполнение

реализация звука

В Android 11 реализованы более строгие правила проверки работоспособности HAL-интерфейсов, запускающих звуковые сигналы, во время выполнения, чем в более ранних версиях.

Автомобильная промышленность

Подробности выпуска

Чтобы узнать о новых функциях и улучшениях в автомобильной версии, см. раздел «Подробности выпуска автомобильной версии» .

API сброса USB-порта

Производители устройств могут реализовать API сброса USB-порта в Android 11 для сброса USB-соединения гаджета с подключенными хостами.

Камера

эффект боке на камере

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

зум камеры

В Android 11 приложение может использовать масштабирование камеры (цифровое и оптическое) через параметр ANDROID_CONTROL_ZOOM_RATIO . Этот параметр представляет собой число с плавающей запятой, обеспечивающее более высокую точность масштабирования по сравнению с использованием целочисленных значений с параметром ANDROID_SCALER_CROP_REGION , и позволяет уменьшать масштаб (< 1,0f).

Одновременная потоковая передача с камеры

Начиная с Android 11, API Camera2 включает методы, которые приложения могут вызывать для определения того, поддерживают ли камеры одновременную потоковую передачу и какие конфигурации потока поддерживаются.

Улучшена поддержка камеры для виртуальных устройств Android.

В Android 11 представлена ​​обновленная реализация эмулируемого Camera HAL на виртуальных устройствах Cuttlefish и Android Emulator , которая добавляет поддержку большего количества функций камеры, включая:

  • RAW-захват
  • Переработка ЮВФ
  • Устройства 3-го уровня
  • Логическая поддержка камеры
  • Поддержка камер, измеряющих только глубину

Эмулированный HAL камеры можно найти по адресу /platform/hardware/google/camera/devices/EmulatedCamera/hwl .

Рекомендации по использованию нескольких камер

Чтобы в полной мере использовать возможности многокамерной съемки, сохраняя при этом совместимость приложений, следуйте этим рекомендациям при реализации логического устройства с несколькими камерами. Это включает в себя рекомендации по использованию API ANDROID_CONTROL_ZOOM_RATIO , представленного в Android 11.

Системные камеры

В Android 11 появилась поддержка системных камер через разрешение android.permission.SYSTEM_CAMERA . Системные камеры позволяют реализовать функции камеры, которые могут использоваться в привилегированных или системных приложениях, но недоступны для сторонних общедоступных приложений.

Совместимость

Документ, определяющий совместимость с Android 11, дополняет предыдущие версии , внося изменения в требования к ранее выпущенным функциям и обновляя их.

Подключение

Bluetooth и NFC

Синхронизация платежей NFC вне хоста

Android поддерживает эмуляцию NFC-карт с помощью защищенного элемента для эмуляции карты вне основного устройства, но возможно, что предпочтительная платежная система, указанная в настройках Tap & Pay, не синхронизирована с приложением в защищенном элементе.

В Android 11 эта проблема решена с помощью синхронизации платежей вне хоста — механизма, позволяющего синхронизировать конфигурацию платежей в Tap & Pay, конфигурацию маршрутизации на бесконтактном интерфейсе (CLF) и состояние выбора приложения в защищенном элементе.

Кошелек быстрого доступа

Функция «Быстрый доступ к кошельку» позволяет пользователю получать доступ к платежным картам и соответствующим пропускам непосредственно из меню питания.

Звонки и сообщения

Поведение при вызове экстренной помощи

В Android 11 внесены изменения в обработку экстренных вызовов для лучшего соответствия требованиям операторов связи. Ниже описано поведение обработки экстренных вызовов:

  • Когда пользователь совершает экстренный вызов во время текущего разговора, в зависимости от настроек ключа KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL , устройство автоматически отключает текущий разговор или ставит его на удержание и не позволяет вернуться к текущему разговору до тех пор, пока экстренный вызов не будет отключен.
  • Во время экстренного вызова входящие звонки автоматически отклоняются и отображаются пользователю как пропущенные. Во время активного экстренного вызова совершать исходящие звонки, не связанные с экстренными ситуациями, невозможно.
  • В режиме экстренного обратного вызова совершение неэкстренного вызова приводит к выходу устройства из режима экстренного обратного вызова. Если совершается экстренный вызов, устройство снова переходит в режим экстренного обратного вызова после завершения вызова. Входящие вызовы не приводят к выходу устройства из режима экстренного обратного вызова.
  • Активные экстренные вызовы нельзя переадресовывать или откладывать.

Обновляемая база данных номеров экстренных служб

В Android 11 появилась база данных номеров экстренных служб , которую можно обновить с помощью OTA-обновлений. База данных содержит список номеров телефонов экстренных служб с указанием соответствующих стран и категорий услуг.

Перевозчик

eSIM

Процесс активации eSIM осуществляется через приложение оператора связи.

В Android 11 улучшен процесс активации профиля eSIM через приложение оператора связи. При использовании кода активации для загрузки профиля, LPA может запустить пользовательский интерфейс приложения оператора связи для получения дополнительной информации от пользователя. Приложение оператора связи также может запустить LUI для активации профиля eSIM.

Для получения более подробной информации см.:

Обработка ошибок API eUICC

В Android 11 добавлены дополнительные ключи и значения для улучшения обработки ошибок, что позволяет вызывающей стороне API eUICC обрабатывать конкретные ошибки по отдельности.

Параметр Option для метода удаления подписок

Начиная с Android 11, при использовании метода eraseSubscriptions в EuiccManager необходимо указать значение перечисления EuiccCardManager#ResetOption , чтобы определить, следует ли удалить все тестовые, операционные или оба типа подписок.

Поддержка многооператорных сетей

Устройства, работающие под управлением Android 11, могут поддерживать несколько общедоступных наземных мобильных сетей (PLMN) . Поддержка нескольких PLMN обеспечивает гибкость для операторов мобильной связи (MNO), позволяя им транслировать несколько идентификаторов.

Поддержка малых сот

Устройства, выпущенные с Android 11, могут поддерживать закрытые группы абонентов (CSG) с помощью методов в API идентификации сот, которые получают информацию о группе абонентов соты. Это полезно для операторов мобильной связи (MNO), которые управляют малыми сотами через закрытые группы абонентов.

API диагностики подключения

API диагностики подключения позволяет приложениям, владеющим сетями или управляющим ими, таким как приложения операторов связи, VPN-приложения и приложения для подбора Wi-Fi-сетей, получать от платформы диагностическую информацию о сетевом подключении.

Изменения в Open Mobile API

В Android 11 добавлена ​​дополнительная функциональность для Open Mobile API (OMAPI):

  • Правила анализа привилегий оператора связи.
  • Настройка доступа к встроенному защищенному элементу (eSE) или предоставление доступа к eSE с использованием одного или нескольких из следующих способов:

    • SECURE_ELEMENT_PRIVILEGED_OPERATION — системное привилегированное разрешение
    • Настраиваемые правила доступа, главные идентификаторы приложений (ARA-M)
    • reset системного API для сброса считывателя OMAPI
  • Предоставляет читателям четкий индикатор для приложений, позволяющих фильтровать возможности устройства.

Отчеты об уровне сигнала

В Android 11 можно выбрать и настроить несколько типов измерения сигнала , которые будут использоваться фреймворком для отображения уровня сигнала в сетях радиодоступа (RAN) 4G LTE и 5G NR. Затем полученные данные об уровне сигнала можно использовать для управления отображением индикатора уровня сигнала на ваших устройствах.

Wi-Fi

Конфигурации сети Wi-Fi оператора связи

В Android 11 можно использовать API подсказок Wi-Fi для добавления конфигураций сетей Wi-Fi оператора вместо настройки параметра carrier_wifi_string_array в менеджере конфигураций оператора.

Поддержка точки доступа Wi-Fi (программной точки доступа) для режима модема.

В Android 11 улучшена настройка точек доступа Wi-Fi (программных точек доступа) , что обеспечивает большую поддержку сценариев использования операторами связи и расширенные возможности настройки. Эти изменения позволяют производителям устройств настраивать следующее:

  • SSID и BSSID
  • Тип безопасности (включая WPA3)
  • Скрытый SSID
  • Рабочий диапазон и канал (включая ACS)
  • Максимально допустимое количество клиентов
  • значение таймаута автоматического выключения
  • Списки разрешенных и заблокированных устройств позволяют пользователю контролировать связанные с ними устройства.

Улучшения в выборе сети Wi-Fi

В Android 11 внесены улучшения в выбор сети Wi-Fi для повышения качества подключения к сети Wi-Fi.

Улучшения функции Wi-Fi Passpoint

В Android 11 представлены следующие улучшения функции Passpoint :

  • Поддержка истечения срока действия профиля позволяет системе уведомлять пользователя и обеспечивать соблюдение сроков истечения действия профиля. Для этого требуется профиль с инициализированным полем SubscriptionParameters/ExpirationDate .
  • Поддержка частных самоподписанных сертификатов центра сертификации для профилей Passpoint R1.
  • Поддержка профилей Passpoint R1 без сертификата центра сертификации. Система использует хранилище доверенных сертификатов по умолчанию для аутентификации соединения.
  • Поддержка настройки именованного домена AAA отдельно от полного доменного имени ANQP (с использованием узла Extension/Android в PPS-MO). Это позволяет указать домен AAA, отличный от рекламируемого домена, без ущерба для безопасности соединения.
  • Поддержка нескольких установленных конфигураций Passpoint с одним и тем же полным доменным именем (FQDN). Это полезно для операторов связи, которые используют в своей сети более одной комбинации кода страны мобильной связи (MCC) и кода сети мобильной связи (MNC), но имеют только одно полное доменное имя (FQDN).
  • Возможность обнаруживать и принимать точки доступа Passpoint R3.
  • Улучшенное сопоставление сетей:
    • Поддерживает сопоставление поставщиков услуг домашней рекламы с HomeSP/HomeOIList .
    • Поддерживает подбор поставщиков услуг домашнего жилья для HomeSP/OtherHomePartners .
    • Устраняет требование соответствия методам EAP, которое не требуется спецификацией Passpoint.

Улучшена поддержка общих имен для профилей Wi-Fi.

В Android 11 профили Wi-Fi остаются действительными при изменении корневого центра сертификации (CA) оператора связи, если общее имя указано в необязательном поддереве расширений Android . В предыдущих версиях пользователям приходилось загружать новый профиль от оператора связи при изменении корневого центра сертификации.

Данные

Аудит доступа к данным

В Android 11 появилась функция аудита доступа к данным , позволяющая разработчикам приложений лучше определять, как их приложения и зависимости получают доступ к конфиденциальным данным пользователей (таким как местоположение и данные камеры). Для сложных многоцелевых приложений разработчики могут определять теги атрибуции для идентификации различных частей приложения.

Для получения более подробной информации см. раздел «Аудит доступа к данным» .

Отображать

Обновления API уведомлений Bubbles

В Android 10 был представлен API уведомлений Bubbles , позволяющий пользователям выполнять многозадачность из любой точки своего устройства. Android 11 включает в себя несколько улучшений Bubbles. Наиболее заметные изменения — это включение Bubbles по умолчанию и перенос настроек из раздела «Параметры разработчика». Для внедрения Bubbles в платформу Android никаких дополнительных действий не требуется.

Элементы управления устройством

Функция «Управление устройствами», доступная начиная с Android 11, позволяет пользователю быстро просматривать и управлять внешними устройствами, такими как освещение, термостаты и камеры, из меню питания. Агрегаторы устройств (например, Google Home) и приложения сторонних разработчиков могут предоставлять устройства для отображения в этом меню. Для поддержки этой функции не требуется никаких изменений в реализации платформы. Реализация по умолчанию включена в AOSP System UI. Информацию о добавлении поддержки управления устройствами в ваше приложение для управления см. на странице разработчиков Android « Управление внешними устройствами» .

Обновления классификатора текста

В Android 11 представлена ​​обновляемая реализация службы классификации текста по умолчанию , которая находится в модуле ExtServices Mainline. Производителям устройств рекомендуется использовать эту реализацию TextClassifierService , поскольку её можно обновить с помощью OTA-обновлений Mainline.

Предприятие

Реализуйте пользовательские типы пользователей.

В Android 11 была представлена ​​концепция четко определенных типов пользователей, представляющих все различные типы пользователей, разрешенные функцией многопользовательского режима Android. Благодаря этой функции производители оборудования могут настраивать предопределенные типы пользователей AOSP и определять новые типы профилей. Дополнительную информацию см. в разделе о типах пользователей .

Улучшения профиля работы

Android 11 содержит улучшения конфиденциальности и удобства использования рабочих профилей, призванные решить ключевые проблемы юзабилити. Крайне важно, чтобы эти улучшения были последовательно внедрены во всей экосистеме.

ИТ-администраторы, поддерживающие Android, должны обеспечивать корректную работу на всех устройствах Android, которые их пользователи приносят на работу. Повышение согласованности пользовательского интерфейса критически важных рабочих процессов значительно снижает затраты на поддержку Android в средах BYOD. Последовательная реализация функций конфиденциальности на всех устройствах также повышает доверие пользователей. Некоторые обновления включают:

  • В списке приложений есть отдельные вкладки с названиями «Личные» и «Рабочие».
  • На вкладке «Работа» есть переключатель для отключения рабочего профиля.
  • Когда профиль работы отключен, значки рабочих приложений становятся серыми, а на вкладке «Работа» появляется сообщение о том, что рабочие приложения приостановлены.

Взаимодействие

Обновления среды выполнения Context Hub

В Android 11 представлен API CHRE версии 1.4 , который включает поддержку информации о сотах 5G, дамп отладки для nanoapp и другие улучшения. Он также включает поддержку использования TensorFlow Lite для микроконтроллеров в nanoapp. Для получения дополнительной информации см. Context Hub Runtime Environment (CHRE) .

Тактильные ощущения

В Android 11 включено новое руководство по внедрению тактильной обратной связи и оценке ее производительности на вашем устройстве.

Вход

Геймпады

В Android 11 добавлена ​​поддержка игровых контроллеров сторонних производителей, в том числе:

  • Контроллер Nintendo Switch Pro: Android добавляет поддержку подключения по USB и Bluetooth для контроллера Nintendo Switch Pro. Для всех реализаций требуется тестирование CTS , используйте NintendoSwitchProTest для проверки вашей реализации.

  • Контроллер Steam: Android добавляет возможность подключения контроллера Steam через USB.

Нейронные сети

Передовые методы

Чтобы стимулировать внедрение NNAPI разработчиками приложений, следуйте этим рекомендациям при реализации драйвера NNAPI на устройствах под управлением Android 11.

Управление потоком

В Android 11 NNAPI добавляет две операции управления потоком выполнения , IF и WHILE , которые принимают другие модели в качестве аргументов и выполняют их условно ( IF ) или многократно ( WHILE ). Это позволяет создавать модели, которые выполняют различные операции в зависимости от входных значений или выполняют операции несколько раз без развертывания цикла.

Казни под оградой

В Android 11 NNAPI позволяет выполнять код, ожидая список дескрипторов sync_fence , и при необходимости возвращать объект sync_fence , который отправляется сигналом по завершении выполнения. Это снижает накладные расходы для моделей с небольшими последовательностями и сценариев потоковой обработки. Выполнение с ограничением по времени также обеспечивает более эффективное взаимодействие с другими компонентами, которые могут отправлять сигналы или ожидать sync_fence .

Области памяти

Для устройств под управлением Android 11 и выше NNAPI поддерживает домены памяти, которые предоставляют интерфейсы распределителя для буферов, управляемых драйвером . Это позволяет передавать собственную память устройства между выполнениями, подавляя ненужное копирование и преобразование данных между последовательными выполнениями на одном и том же драйвере.

Качество обслуживания

Начиная с Android 11, NNAPI предлагает улучшенное качество обслуживания (QoS), позволяя приложению указывать относительные приоритеты своих моделей, максимальное время, ожидаемое для подготовки модели, и максимальное время, ожидаемое для завершения выполнения.

Квантование с 8-битным знаком

Интерфейс нейронных сетей HAL (NN HAL) 1.3, представленный в Android 11, поддерживает 8-битное квантование со знаком для API нейронных сетей. Для получения дополнительной информации см. обновления NN HAL в Android 11 .

Улучшения в тестировании

В Android 11 включена утилита для проведения фаззинг-тестирования реализаций драйверов NNAPI, а также серия краш-тестов для проверки устойчивости драйверов к интенсивному использованию.

Для получения более подробной информации см.:

Датчики

Тип датчика угла шарнира

В Android 11 появился тип датчика угла шарнира, обозначающий датчик, измеряющий угол между двумя неразрывно связанными частями устройства.

Sensors Multi-HAL 2.1

Sensors Multi-HAL 2.1 , доступный в Android 11, является версией Sensors Multi-HAL 2.0, которая поддерживает загрузку дочерних HAL-модулей, способных предоставлять доступ к датчику угла поворота шарнира . Для поддержки этого типа датчика дочерние HAL-модули должны использовать API дочерних HAL-модулей, определенные в заголовочном файле SubHal версии 2.1 .

СМИ

DRM

В Android 11 упрощен путь межпроцессного взаимодействия MediaDrm/Crypto за счет удаления MediaDrmService. Добавлен новый API MediaDrm для перечисления доступных плагинов DRM.

Декодирование с низкой задержкой в ​​MediaCodec

В Android 11 включен MediaCodec 2.0 , обеспечивающий декодирование мультимедиа с низкой задержкой, что крайне важно для приложений, работающих в режиме реального времени.

Разнообразный

Начиная с Android 11, приложению AOSP Gallery больше не требуется поддерживать MIME-тип application/sdp для интента ACTION_VIEW . Фильтр интента ACTION_VIEW для MIME-типа application/sdp был удален из файла манифеста приложения AOSP Gallery .

Эти требования задокументированы в разделе 3.2.3.1. Основные цели применения CDD.

Производительность

Пользовательское пространство lmkd

В Android 11 представлена ​​новая стратегия принудительного завершения процессов для предотвращения нехватки памяти и снижения производительности.

Власть

Невнимательный сон в режиме ожидания телевизора

В Android 11 добавлена ​​новая функция под названием «невнимательный сон» для режима ожидания телевизора . Это функция энергосбережения, которая позволяет установить тайм-аут бездействия пользователя, по истечении которого устройство переходит в спящий режим, даже если удерживаются блокировки пробуждения.

Безопасный

OEMCrypto

Android 11 поддерживает API OEMCrypto версии 16.

Хранилище

Ограниченное хранение

Android 11 поддерживает ограничение доступа приложений к внешнему хранилищу, что позволяет ограничить доступ приложений к нему. Кроме того, MediaProvider становится обработчиком файловой системы (для FUSE) для внешнего хранилища, обеспечивая согласованность файловой системы на внешнем хранилище и базы данных MediaProvider.

устаревание SDCardFS

Поддержка SDCardFS устарела в Android 11. Тестирование VTS не позволяет монтировать файловые системы, указанные как SDCardFS. Функции SDCardFS заменены другими методами.

Тесты

Набор тестов на совместимость (CTS)

В Android 11 в CTS добавлено множество новых ключевых модулей и внесены изменения в тесты. Дополнительную информацию см. в примечаниях к выпуску CTS .

Тесты CTS для API управления APEX

Начиная с Android 11, пакет CtsShimApex содержит два предварительно собранных приложения, которые CTS использует для проверки привилегий и разрешений.

Если ваше устройство не поддерживает управление пакетами APEX или если на устройстве установлена ​​версия 10 или ниже, два предварительно собранных приложения необходимо установить в систему отдельно.

Для получения более подробной информации см. пакеты прокладок CTS .

Примечания к выпуску CTS

В Android 11 представлено множество новых ключевых модулей и изменений в тестировании .

Отладка

Ведение журналов поставщиков с ограниченным объемом данных

В Android 11 добавлен новый HAL, IDumpstateDevice (версия 1.1). Этот HAL предоставляет новые методы для более точного определения области действия журналов поставщика, включаемых в стандартные отчеты об ошибках, а также позволяет пользовательским сборкам включать и выключать ведение журналов поставщиком (по умолчанию для пользовательских сборок — выключено). Это дает производителям оборудования больше контроля над тем, что включается в определенные типы отчетов об ошибках.

GWP-ASan: обнаружение повреждений кучи

GWP-ASan — это встроенная функция распределения памяти, которая помогает обнаруживать ошибки использования памяти после освобождения (use-after-free) и переполнения буфера кучи (heap-buffer-overflow) как в 32-битных, так и в 64-битных процессах.

В Android 11 GWP-ASan автоматически включается для системных приложений и исполняемых файлов платформы. Не отключайте его на платформе, а включите в своих приложениях.

Обновления

Улучшения динамического обновления системы (DSU)

В Android 10 внесены улучшения в систему динамических обновлений (DSU) , в том числе:

  • Новый интерфейс — загрузчик DSU в один клик.
  • Поддержка многораздельных DSU
  • Блоки DSU с цифровой подписью производителя для повышения уровня безопасности.
  • Новые способы управления совместимостью между DSU и устройствами.

Пакеты OTA для нескольких артикулов

Android 11 и более поздние версии поддерживают использование одного OTA-пакета для нескольких устройств с разными SKU . Для этого необходимо настроить целевые устройства на использование динамических отпечатков и обновить метаданные OTA (с помощью инструментов OTA), включив имя устройства и отпечаток в записи предварительных и последующих условий.

Подписывайте документы для выпуска

В Android 11 изменены несколько команд CLI для подписи сборок для выпуска.

Набор тестов поставщика (VTS) 11

Пакет тестов Android 11 Vendor Test Suite (VTS) обеспечивает всестороннее тестирование ядра и уровня аппаратной абстракции (HAL).

Виртуальный A/B

Android 11 объединяет A/B-обновления и обновления без A/B-тестирования, предоставляя виртуальное A/B-тестирование . Виртуальное A/B-тестирование обеспечивает бесшовные обновления устройств, минимизируя при этом затраты на хранение данных.

Тестирование

По умолчанию используется распределитель памяти кучи Scudo.

Начиная с Android 11, для всего нативного кода используется распределитель памяти scudo (за исключением устройств с малым объемом памяти, где по-прежнему используется jemalloc). Таким образом, вам больше не нужно включать scudo для каждого исполняемого файла отдельно. Для получения дополнительной информации о scudo см. страницу Scudo .

ТВ

структура CAS

Android 11 поддерживает фреймворк Media Conditional Access Systems (Media CAS) для Android TV, который предоставляет стандартные Java API для сторонних разработчиков и OEM-производителей. Подробнее см. в разделе CAS Framework .

Мультимедийный туннель

В Android 11 пользователи могут реализовать мультимедийное туннелирование , передавая аудио- и видеоконтент непосредственно из Tuner.

фреймворк тюнера

Android 11 поддерживает Tuner Framework для Android TV, который обеспечивает передачу аудио- и видеоконтента с использованием Tuner HAL, Tuner SDK API и Tuner Resource Manager.

Платформа ввода ТВ

Платформа ввода Android TV (TIF) упрощает передачу контента в прямом эфире на Android TV, предоставляя производителям стандартный API для создания модулей ввода для управления Android TV, а также позволяя осуществлять поиск и рекомендации телепередач в прямом эфире. Android 11 представляет три новых компонента в TIF.