
«Проект Mainline» (или просто Mainline) от Google фактически превращает часть вашей любимой мобильной операционной системы в модули, которые обрабатываются как независимые компоненты общей сборки. Он был представлен с Android 10 с явной целью упростить основные обновления, выделив их из основной системы в модули.
В новом комментарии к сборке AOSP Android намекает, что Android Runtime, скорее всего, станет модулем Mainline в Android 12 (через XDA). Android Runtime или «ART» фактически преобразует базовые инструкции в нативные инструкции устройства. Используя компиляцию ahead-of-time (AOT), приложения компилируются в нативный машинный код в момент установки, что делает эту часть ОС Android довольно важной.
Итак, это довольно простое объяснение того, что делает Android Runtime, хотя, возможно, и не самое лучшее. Став модулем Mainline, Android Runtime может быть полностью обновлен без необходимости OTA-обновлений. Таким образом, Google получит больше контроля, при условии, что они заставят OEM-производителей предварительно загружать новый ART-модуль на устройства.
К сожалению, этот CL должен был сопровождаться более подробным объяснением. В Android S ART становится обновляемым модулем Mainline. В модуле есть программа под названием odrefresh, которая перекомпилирует части загрузочного пути, не входящие в сам APEX ART (например, frameworks.jar), а также JAR-файлы системного сервера. Также есть компонент под названием ods (http://ag/12685324), который подписывает артефакты и проверяет их подписи при последующих загрузках. ods управляет odrefresh, проверяя наличие и актуальность артефактов и перекомпилируя их при необходимости.
Обновления Android Runtime могут просто распространяться через Google Play Store, что означает меньшую зависимость от полных обновлений системы от OEM-производителей. Концепция модульного телефона Google, возможно, и провалилась, но Android может стать гораздо более модульной операционной системой благодаря таким изменениям.