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

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

Устройства конечных пользователей могут получать обновления Mainline с помощью функции обновления системы 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.

Обновленные модули Mainline могут быть упакованы вместе и отправлены на устройства конечных пользователей либо 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
ДокументыUI 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)
MediaProvider com.android.mediaprovider АПЕКС Андроид 11
МодульМетаданные com.android.modulemetadata АПК андроид 10
Сетевой стек Конфигурация разрешений сетевого стека: com.android.networkstack.permissionconfig

Вход в портал Captive: 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)
АПЕКС и АПК Андроид 13
PermissionController 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