Google представил прослойку для отделения поддержки оборудования от версий Android
Компания Google анонсировала модульную систему Treble, которая позволит производителям создавать универсальные компоненты поддержки оборудования, не привязанные к конкретным версиям Android и используемым в них выпускам ядра Linux. Treble существенно упростит адаптацию новых версий Android для существующих устройств и поможет наладить оперативное создания обновлённых прошивок с актуальными выпусками Android. По аналогии с тем, как сейчас Android-приложения могут работать на любых устройствах с Android, Treble позволит использовать одни и те же драйверы с различными версиями Android.
Если ранее производитель вынужден был портировать компоненты для поддержки оборудования для ядра каждого нового выпуска, то теперь для новых выпусков можно будет использовать уже подготовленную основу, обеспечивающую взаимодействие с оборудованием. Низкоуровневые компоненты, специфичные для каждого устройства, будут выделены в отдельный слой, который будет отделён от Android OS Framework (т.е. от используемого в Android ядра Linux) и сможет развиваться независимо. Взаимодействие Android OS Framework с компонентами поддержки оборудования будет организовано через специальную прослойку, предоставляющую неизменный программный интерфейс.
Подсистема Treble будет включена в состав следующего выпуска платформы Android, развивающегося под кодовым именем «Android O». В том числе, интерфейс Treble уже доступен в сборках Android O Developer Preview для смартфонов Pixel. Детали реализации пока не приводятся, всю необходимую информацию планируется опубликовать сразу после релиза Android O.
Кроме того, компания Google ведёт работу с производителями оборудования и драйверов по переносу их наработок в основную кодовую базу, развиваемую в рамках репозитория AOSP (Android Open Source Project). Некоторые изменения уже переданы в AOSP компаниями Sony и Qualcomm, что позволило избавиться от необходимости постоянной адаптации своих наборов патчей к новыми выпускам Android.
© OpenNet