Основная линия

В Android 10 появилась технология Mainline (ранее известная на этом сайте как модульные системные компоненты). Mainline делает некоторые системные компоненты Android модульными и позволяет обновлять их вне стандартного цикла выпуска Android. Это позволяет Google и партнёрам Android широко, быстро и бесперебойно распространять обновления на устройства конечных пользователей, не нарушая их работу.

Устройства конечных пользователей могут получать основные обновления через функцию обновления системы Android Google Play (которая работает на инфраструктуре Google Play Store) или через предоставляемый партнером механизм беспроводного обновления (OTA).

Архитектура

Mainline преобразует выбранные компоненты системы в модули . Модульная архитектура, показанная на рисунке 1, позволяет обновлять компоненты системы, исправляя критические ошибки и внося другие улучшения по мере необходимости, не затрагивая реализации поставщиков более низкого уровня или приложения и службы более высокого уровня.

Основная архитектура

Рисунок 1. Основная архитектура

Обновления модулей не добавляют новые API. Они используют только SDK и системные API, гарантированные Compatibility Test Suite (CTS) , взаимодействуют только друг с другом и используют только стабильные C API или стабильные интерфейсы AIDL .

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

Некоторые модули Mainline используют формат контейнера APEX (представленный в Android 10), а некоторые — формат APK.

Обновлённые модули основной линии могут быть упакованы и отправлены на устройства конечных пользователей либо компанией Google с помощью функции обновления системы Google Play, либо партнёром Android с помощью предоставляемого партнёром механизма OTA. Установка и откат пакета модулей происходит автоматически: либо обновляются все модули, требующие обновления, либо не обновляются ни один.

Доступные модули

Имя модуля Имя пакета Тип Представлен релиз
Рекламные услуги com.google.android.adservices АПЕКС Андроид 13
адбд com.android.adbd АПЕКС Андроид 11
Android Здоровье com.google.android.healthfitness АПЕКС Андроид 14
AppSearch com.android.appsearch АПЕКС Андроид 13
ИСКУССТВО com.android.art АПЕКС Андроид 12
Bluetooth com.google.android.btservices АПЕКС Андроид 13
CellBroadcast com.android.cellbroadcast АПЕКС Андроид 11
Конфигурация инфраструктуры com.android.configinfrastructure АПЕКС Андроид 14
Конскрипт com.android.conscrypt АПЕКС Андроид 10
Планирование устройств com.android.scheduling АПЕКС Андроид 12
DNS-резолвер com.android.resolv АПЕКС Андроид 10
DocumentsUI com.android.documentsui АПК Андроид 10
ExtServices com.android.ext.services APK (Android 10)
АПЕКС (Android 11)
Андроид 10
Библиотека IPsec/IKEv2 com.android.ipsec АПЕКС Андроид 11
СМИ Медиа: com.android.media

Медиакодеки: com.android.media.swcodec
АПЕКС Android 10 (экстракторы, API MediaSession)
Android 11 (API MediaParser)
МедиаПровайдер com.android.mediaprovider АПЕКС Андроид 11
ModuleMetadata com.android.modulemetadata АПК Андроид 10
Сетевой стек Конфигурация разрешений сетевого стека: com.android.networkstack.permissionconfig

Вход в Captive Portal: com.android.captiveportallogin

Сетевые компоненты: com.android.networkstack
АПК Андроид 10
Среда выполнения NNAPI com.android.neuralnetworks АПК Андроид 11
OnDevicePersonalization Runtime Основная функциональность пакета: com.google.android.ondevicepersonalization (APEX)

Функциональность API OnDevicePersonalization: com.google.android.ondevicepersonalization (APK)

Функциональность API FederatedCompute: com.google.android.federatedcompute (APK)
APEX и APK Андроид 13
Контроллер разрешений com.android.permissioncontroller АПК Андроид 10
Удаленная выдача ключей com.android.rkpd АПЕКС Андроид 14
Расширения 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