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

В 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
Поиск приложений com.android.appsearch АПЕКС Андроид 13
ИСКУССТВО com.android.art АПЕКС Андроид 12
Bluetooth com.google.android.btservices АПЕКС Андроид 13
Сотовое вещание 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
ЭкстСервисс com.android.ext.services АПК (Андроид 10)
АПЕКС (Андроид 11)
Андроид 10
Библиотека IPsec/IKEv2 com.android.ipsec АПЕКС Андроид 11
СМИ Медиа: com.android.media

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

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

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

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

Функциональность API FederatedCompute: com.google.android.federatedcompute (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