В 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. Пакет модуля устанавливается и откатывается автоматически; либо все модули, которые необходимо обновить, обновляются, либо ни один не обновляется.
Доступные модули
Имя модуля | Имя пакета | Тип | Представлен выпуск |
---|---|---|---|
Рекламные услуги | Несколько | Несколько | Андроид 13 |
адбд | com.android.adbd | АПЕКС | Андроид 11 |
Android Здоровье |
| АПЕКС | Андроид 14 |
Поиск приложений | com.android.appsearch | АПЕКС | Андроид 13 |
ИСКУССТВО | com.android.art | АПЕКС | Андроид 12 |
Bluetooth |
| АПЕКС | Андроид 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Среда выполнения персонализации | Несколько | Несколько | Андроид 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 |