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 за исправление ошибки в статье!