Android 10 или более поздняя версия объединяет некоторые системные компоненты Android и позволяет обновлять их вне обычного цикла выпуска Android. Устройства конечных пользователей могут получать обновления этих модульных системных компонентов из инфраструктуры Google Play Store или с помощью беспроводного (OTA) механизма, предоставляемого партнерами.
О компонентах модульной системы
Компоненты модульной системы позволяют партнерам Google и Android широко, быстро и беспрепятственно распространять обновления на устройства конечных пользователей ненавязчивым образом. Например, сочетание фрагментации медиакодеков и критических ошибок может значительно замедлить внедрение приложений и вовлечение пользователей. Частые обновления модулей, связанных с мультимедиа, могут уменьшить фрагментацию кодеков, сделать поведение мультимедийных приложений более согласованным на разных устройствах Android и исправить критические ошибки для повышения доверия пользователей.
Архитектура
Android 10 или более поздняя версия преобразует выбранные системные компоненты в модули , некоторые из которых используют формат контейнера APEX (представленный в Android 10), а некоторые — формат APK. Модульная архитектура позволяет обновлять системные компоненты, исправлять критические ошибки и вносить другие улучшения по мере необходимости, не затрагивая реализации поставщиков более низкого уровня или приложения и службы более высокого уровня.
Рисунок 1. Компоненты модульной системы
Обновления модулей не вводят новые API. Они используют только SDK и System API, гарантированные Compatibility Test Suite (CTS) , взаимодействуют только друг с другом и используют только стабильные C API или стабильные интерфейсы AIDL .
Обновленные компоненты модульной системы могут быть упакованы вместе и отправлены на устройства конечных пользователей либо компанией Google (используя инфраструктуру Google Play Store), либо партнером Android (используя предоставленный партнером механизм OTA). Пакет модуля устанавливается (и откатывается) атомарно; обновляются либо все модули, которые необходимо обновить, либо ни один из них.
Доступные модули
Имя модуля | Имя пакета | Тип | Релиз представлен |
---|---|---|---|
AdServices | Несколько | Несколько | Андроид 13 |
adbd | com.android.adbd | АПЕКС | Андроид 11 |
Поиск приложений | com.android.appsearch | АПЕКС | Андроид 13 |
ИСКУССТВО | com.android.art | АПЕКС | Андроид 12 |
Bluetooth |
| АПЕКС | Андроид 13 |
CellBroadcast | com.android.cellbroadcast | АПЕКС | Андроид 11 |
Конскрипт | com.android.conscrypt | АПЕКС | Андроид 10 |
Планирование устройств | com.android.scheduling | АПЕКС | Андроид 12 |
DNS-преобразователь | com.android.resolv | АПЕКС | Андроид 10 |
ДокументыUI | com.android.documentsui | АПК | Андроид 10 |
ExtServices | com.android.ext.services | АПК (Андроид 10) АПЕКС (Android 11) | Андроид 10 |
Библиотека IPsec/IKEv2 | com.android.ipsec | АПЕКС | Андроид 11 |
СМИ | Медиа: com.android.media Медиа-кодеки: com.android.media.swcodec | АПЕКС | Android 10 (экстракторы, MediaSession API) Android 11 (API MediaParser) |
МедиаПровайдер | com.android.mediaprovider | АПЕКС | Андроид 11 |
Метаданные модуля | com.android.modulemetadata | АПК | Андроид 10 |
Сетевой стек | Конфигурация разрешений сетевого стека: com.android.networkstack.permissionconfig Вход в Captive Portal: com.android.captiveportallogin Сетевые компоненты: com.android.networkstack | АПК | Андроид 10 |
Среда выполнения NNAPI | com.android.neuralnetworks | АПК | Андроид 11 |
Среда выполнения OnDevicePersonalization | Несколько | Несколько | Андроид 13 |
Контроллер разрешений | com.android.permissioncontroller | АПК | Андроид 10 |
Расширения SDK | com.android.sdkext | АПЕКС | Андроид 11 |
Статистика | com.android.os.statsd | АПЕКС | Андроид 11 |
модем | com.android.tethering | АПК | Андроид 11 |
Данные часового пояса | com.android.tzdata | АПЕКС | Андроид 10 |
СШП | com.android.uwb | АПЕКС | Андроид 13 |
Wi-Fi | com.android.wifi | АПЕКС | Андроид 11 |