Что означает проект Treble для будущей разработки пользовательских ПЗУ

Project Treble теперь доступен на устройствах Android Oreo. Сегодня мы кратко рассмотрим, что означает Project Treble для будущей разработки пользовательских ПЗУ.

Здесь, на XDA, мы ранее говорили о Проект Требл, крупнейшее низкоуровневое изменение, внесенное в базу Android с момента выпуска первой бета-версии Android почти 10 лет назад, и как ты можешь сказать если оно есть на вашем устройстве. Для тех, кто еще не знает, что такое Project Treble: он модульизирует нижний уровень Android, разделяя поставщика реализация (собственные объекты и программное обеспечение, драйверы ЦП и графического процессора и т. д.) из основной платформы Android и система. Это приводит к ускорению обновлений системы за счет модульности уровня абстракции оборудования (HAL) и его разделения. от остальной части ОС Android, а также устраняя зависимость OEM от медленных обновлений драйверов производителей микросхем. Конечная цель — продлить 24-месячный период поддержки основных обновлений программного обеспечения, обещанный большинством производителей устройств.

Это должно помочь телефонам Android получать обновления, подобные Apple, по крайней мере, на флагманских телефонах. В то время как средний флагман Android получает 2 крупных обновления в течение 24 месяцев, устройства iPhone получают обновления iOS как минимум 4 года, включая незначительные. На телефонах Android с поддержкой Treble это может в конечном итоге стать реальностью, если производитель телефона собирается обновить свой телефон. У тех, кто хочет поддерживать свои устройства в актуальном состоянии в течение аналогичного периода времени, нет другого выбора, кроме как прибегнуть к использованию пользовательских ПЗУ.

К счастью, Project Treble также должен сделать траву более зеленой и для пользователей пользовательских ПЗУ. Фактически, оно имеет потенциал полностью изменить сцену разработки пользовательских ПЗУ — и навсегда.


Как пользовательские ПЗУ могут использовать преимущества Treble?

Причина, по которой медленно разрабатываются неофициальные порты Android Oreo, а не просто то, что разработчики могут скомпилировать, загрузить и запустить, проста. Чтобы запустить новую версию Android на существующем устройстве, ядро ​​и дерево устройств необходимо серьезно переработать, чтобы существующий телефон Android работал с более новым Android выпускать. Это связано с тем, что текущая реализация поставщика, включая все проприетарные двоичные объекты, предназначена для работы с одна версия Android, поэтому ее необходимо переработать и портировать на новую версию Android, чтобы устройство работало. правильно.

Почти все компоненты внутри телефона используют независимый проприетарный объект, который требует исправлений и работы. независимо, чтобы новое программное обеспечение могло его использовать, а также следя за тем, чтобы другие не сломались в процессе. Это действительно трудоемкая задача, и это главная причина, по которой большинство стабильный пользовательские ПЗУ (например, еженедельники LineageOS или другие официально поддерживаемые ПЗУ) появляются не раньше, чем через 2-3 месяца после того, как окончательная версия Android выйдет на AOSP. Все эти усилия также означают, что полученное ПЗУ будет работать только на одном устройстве или, в лучшем случае, на нескольких устройствах с идентичными или схожими характеристиками.

По данным Project Treble, ситуация, похоже, изменится с появлением Project Treble. Рон Амадео из АрсТехника и независимо подтверждено разработчиком кастомных ПЗУ, султаном XDA.

Малчев говорит, что Treble стандартизирует аппаратную поддержку Android до такой степени, что общие сборки Android, скомпилированные из AOSP, могут загружаться и работать на каждый Тройное устройство. Фактически, эти «сырые» сборки AOSP будут использоваться для некоторых тестов CTS, которые Google требует пройти от всех OEM-производителей Android, чтобы лицензировать приложения Google. должен работают, они необходимый работать.

Чтобы подчеркнуть эту мысль, это означает, что из-за модульной структуры нижнего уровня Android все устройства Treble на рынке будут возможность загрузки стандартной сборки Android AOSP. Это избавляет от большинства проблем с переносом пользовательских ПЗУ на старое устройство, поскольку одна общая сборка Android может работать на многих устройствах. Это приближает устройства Android к чему-то вроде персонального компьютера, где вы можете загрузить последнюю, передовую сборку Windows 10 или любой дистрибутив Linux на компьютере 10-12-летней давности.

Вы не сможете загрузить безупречно работающий универсальный Андроид 9.0 однако пока строится на вашем устройстве Treble - над деревьями устройств и ядрами все равно придется работать. Это по-прежнему отличное начало: благодаря модульным HAL рабочая нагрузка по созданию следующего Android версия должна быть значительно уменьшена, и мы сможем увидеть стабильные сборки 9.0 в течение нескольких дней/недель вместо месяцы. Мы должны иметь в виду, что проект Treble, хотя он сейчас и разворачивается, все еще находится в стадии разработки, поскольку он все еще получает изменения в AOSP, и Уровень поставщика в конечном итоге может быть стандартизирован до такой степени, что установка новой версии Android будет такой же, как установка Windows на компьютер.

Это огромный технический прогресс, и он может значительно улучшить разработку пользовательских ПЗУ на основе AOSP на наших форумах. Но это относится только к устройствам с Project Treble, и в настоящее время единственными доступными телефонами Treble являются Google Pixel, Google Pixel XL, Sony Xperia XZ1 и XZ1 Compact. Что будет с существующими телефонами до Oreo?


Может ли специальное ПЗУ добавить Treble на существующий телефон?

У нас уже есть целый каталог прошивок Android Oreo для существующих телефонов, включая телефоны Nexus, OnePlus, Xiaomi и Motorola. Однако может ли одно из этих прошивок перенести Project Treble на ваш телефон? Ответ: это маловероятно.

Изменения, внесенные в низкоуровневую платформу Android, действительно сложны, и их нельзя просто выполнить, работая на обычном пользовательском ПЗУ. Это не что-то вроде кругового управления или жестов устройства, а полный перепроектирование реализации поставщика. Это то, что требует участия Qualcomm и других производителей кремния. Google в настоящее время работа с различными OEM-производителями над внедрением Treble в некоторые существующие флагманские телефоны., но даже тогда мы не уверены что OEM-производители работают над этим, поскольку список не разглашается. Тем не менее, мы видели некоторые коммиты, связанные с Treble, в LineageOS Gerrit, поэтому можно с уверенностью сказать, что такая попытка действительно предпринимается.

В конце концов, еще слишком рано говорить. Мы уже видели на наших форумах некоторые удивительные достижения в области разработки, в том числе такие замечательные вещи, как универсальные бессистемные интерфейсы или Обновления хранилища eMMC, так кто знает? Кто-то может каким-то образом заставить Project Treble работать на устаревшем телефоне.

Но у нас была возможность только покопаться в Источник Android Oreo примерно на 2 недели, так что, как мы уже говорили, еще слишком рано говорить об этом. Однако мы по-прежнему воодушевлены этими возможностями и будем держать вас в курсе будущих разработок, связанных с Treble, на портале XDA, доступ к которому лучше всего осуществляется через приложение XDA Labs!

Спасибо члену команды Paranoid Android. /u/evan1123 за исправление ошибки в статье!