Революция в кастомных прошивках: как Project Treble превращает портирование Android Oreo в работу за 1 день

Исследование того, как Project Treble меняет пользовательские ПЗУ. Портирование Android Oreo на Huawei Mate 9 заняло менее 1 дня.

Форумы XDA на протяжении многих лет были центральным собранием разработчиков пользовательских ПЗУ. Именно благодаря усердной работе разработчиков на наших форумах многие старые Android-смартфоны поддерживаются специальными ПЗУ, иногда спустя годы после того, как производитель устройства отказался от устройства. Хотя в настоящее время большинство производителей выпускают методы разблокировки загрузчика, частые задержки с выпуском исходных кодов ядра препятствуют разработке пользовательских ПЗУ на многих смартфонах. Однако вскоре ситуация может измениться благодаря чему-то под названием «Проект Требло котором было объявлено накануне выхода Android Oreo. Благодаря Project Treble время, необходимое для переноса ПЗУ AOSP на устройство, больше не должно занимать недели или месяцы. это должно занять всего несколько дней.

Те из вас, кто годами следил за сценой пользовательских ПЗУ, возможно, уже знают, насколько важна эта новость. Признанный разработчик XDA

СтарыйDroid назвал это откровение "прорвать" при разработке специального ПЗУ AOSP. Например, благодаря поддержке Project Treble я смог загрузиться а почти полностью функционирующая прошивка Android 8.0 Oreo на Huawei Mate 9— устройство, которое до сих пор не видело ни одного AOSP Андроид Нуга ПЗУ.

Возможно, вскоре мы станем свидетелями революции в разработке пользовательских ПЗУ благодаря первоначальным усилиям старшего члена XDA на этом фронте. фхуссон. После 20 часов работы со мной по исследованию, разработке и отладке Phhusson создал образ системы, который можно загружался на нескольких устройствах разных производителей и с совершенно разными SoC. Например, тот же образ системы, который я загрузил на своем Huawei Mate 9, также загружается на Honor 8 Pro, Honor 9, Sony Xperia XZ1 Compact и Essential Phone. Это 3 разных OEM-производителя (Huawei/Honor, Sony и Essential) и 2 разных процессора (HiSilicon Kirin 960 и Qualcomm Snapdragon 835), где этот единый образ системы может успешно загрузиться.

Вполне возможно, что в будущем мы увидим единый образ системы, который сможет работать на десятках различные смартфоны Android, подобно тому, как Microsoft Windows может работать практически на любом компьютере. аппаратное обеспечение. Чтобы стимулировать дальнейшее развитие в этом направлении, мы открыли новый форум, посвященный Project Treble включенные устройства. На данный момент форум ориентирован на разработчиков, поэтому, пожалуйста, воздержитесь от создания новой темы, если вы не заинтересованы в участии в разработке. Если вы хотите помочь в тестировании образов системы, совместимых с Treble, не стесняйтесь оставлять комментарии в существующих темах.

Присоединяйтесь к форуму разработчиков Project Treble

Учитывая значимость этого события и сложность темы, я подумал, что подойду к этой статье немного иначе, чем к другим. Я составлю список пунктов, объясняя некоторые распространенные вопросы, которые могут возникнуть у людей, а также укажу на ключевые факты, касающиеся этой последней разработки.


Что такое Проект Требл?

Кредиты: Google

Проект Treble чаще всего описывается как попытка Google модульизировать структуру ОС Android для разделения кода конкретного поставщика. Давайте разберем ситуацию немного подробнее:

  • Полный процесс обновления Android для устройств — долгая и сложная тема, но Sony проделала отличную работу. эта инфографика в котором описаны основные шаги.
  • «Поставщик» обычно относится к производителям кремния, таким как Qualcomm, но может также относиться к производителю любого другого проприетарного оборудования, используемого в устройстве. «Производителю устройства» или «OEM» обычно приходится ждать, пока поставщик обновит свой код, чтобы проприетарное оборудование работало с платформой ОС Android в более новой версии Android.
  • Однако в случае с Project Treble Google требует, чтобы любые код конкретного поставщика должен быть отделен от платформы ОС Android и вместо этого жить в собственной реализации поставщика. Обычно это означает, что теперь на смартфонах с поддержкой Treble есть отдельный раздел /vendor, который содержит кучу HAL (слоев аппаратной абстракции).
  • Более того, поставщики должны реализовать код, который позволит платформе ОС Android взаимодействовать с HAL стандартизированным способом. Это делается через ХИДЛ (Язык определения интерфейса HAL). Благодаря этому OEM-производитель может работать над обновлением Android, не дожидаясь, пока поставщики обновят свои HAL. Теоретически это должно ускорить весь процесс обновления Android поскольку поставщики могут обновить свой код в любое время через Play Маркет, например.
  • Чтобы понять, что такое HAL и как он связан с Android, давайте рассмотрим аналогию. Представьте себе автомобиль. Рулевое колесо и тормоза — это HAL, а водитель — платформа ОС Android. Водитель (Android) поворачивает руль и нажимает на тормоза (HAL), чтобы управлять движением автомобиля (аппаратное обеспечение).
  • А теперь представьте, если бы мы жили в мире, где каждый производитель автомобилей решил спроектировать свои рулевые колеса или перенастроить тормоза совершенно по-другому. Если вы посадите водителя в новую машину, он может запутаться в том, как изначально обращаться с автомобилем. Но благодаря стандартам каждый водитель должен уметь управлять рулем и тормозами практически на любом автомобиле. Кроме того, автошкола учит всех водителей правильному управлению транспортным средством. В этой аналогии стандарты транспортных средств — Project Treble, а автошкола — HIDL.

Android Oreo на Honor 8 Pro. Кредиты: Признанный XDA разработчик OldDroid.

Какие устройства получат поддержку Project Treble?

  • Все устройства, которые запуск с Android 8.0 Oreo или выше должен полностью поддерживать Проект Требл.
  • Все устройства, которые обновиться до Android 8.0 Oreo являются не требуется для полной поддержки Project Treble.
  • К устройствам, имеющим обновления (официальные выпуски или закрытые бета-версии) до Android 8.0 Oreo и поддерживающим Treble, относятся следующие:
    • Google Пиксель
    • Гугл Пиксель XL
    • Хуавей Мате 9
    • Хонор 8 Про
    • честь 9
    • Основной телефон
  • Маловероятно, что какие-либо устройства неофициально получат поддержку Project Treble посредством разработки специального ПЗУ. В конце концов, HAL не являются открытым исходным кодом.

Почему Project Treble так важен для ПЗУ AOSP?

  • Чтобы гарантировать, что код поставщика должным образом отделен от платформы ОС Android так, как это предусмотрено в Project Требл требует, чтобы Google установил Vendor Test Suite (VTS), который устройства должны пройти, чтобы пройти сертификацию. Google. Сертификация Google важна, поскольку без нее устройство не может поставляться с предустановленными приложениями и сервисами Google Play.
  • Одним из требований VTS является то, что устройство с поддержкой Treble должен иметь возможность загружаться а сырая, общая сборка AOSP. Из-за этого требования OEM-производители вынуждены поставлять устройства, которые могут без проблем загружать AOSP.
  • Хотя точное ПЗУ, которое Google использует и делится с OEM-производителями для VTS, не является общедоступным, старший член XDA Phhusson смог выяснить это. как воссоздать этот ROM из исходников.
  • Таким образом, теперь у нас есть рабочее ПЗУ AOSP, которое гарантированно будет загружаемым на устройствах Project Treble. Большая часть работы уже выполнена OEM-производителями и поставщиками, поэтому независимым разработчикам на наших форумах больше не нужно. возиться с исходным кодом ядра или хакерством HAL. Теоретически ПЗУ AOSP должно «просто работать», что, как мы показали, в основном верно на протестированных нами устройствах.
  • На данный момент совместимость не 100% на всех устройствах можно загрузить образ системы. Есть также некоторые условия гонки это нужно выяснить. Однако проект Treble существенно сокращает объем опытно-конструкторских работ это необходимо для переноса ПЗУ AOSP на устройства сторонних производителей. Благодаря сотрудничеству большего количества разработчиков в нашем Форум проекта Treble, мы ожидаем, что разработка устройств Treble будет иметь большое значение.

Как мне теперь опробовать Android Oreo на своем устройстве?

Если вы действительно любите приключения и хотите опробовать одну из этих сборок Project Treble на своем телефоне прямо сейчас, у Phhusson есть образы системы, которые вам нужно загрузить. его тема на нашем форуме Project Treble. Однако есть несколько вещей, которые вам следует иметь в виду:

  • Вам понадобится разблокированный загрузчик и должны быть знакомы с использованием команды быстрой загрузки для прошивки изображений.
  • Ваше устройство должно уже использую Android Oreo. Эти образы системы не «обновляют» ваше устройство. Если вы используете одно из устройств Huawei/Honor, упомянутых в этой статье, вы можете найти руководство на наших форумах или воспользоваться Сервис FunkyHuawei.club неофициально обновить свой телефон до одной из закрытых бета-версий Oreo.
  • Вы должны быть готовы потерять данные или перепрошить заводские образы во время тестирования. Лучший способ обеспечить загрузку — очистить раздел пользовательских данных, что включает в себя очистку всего содержимого внутренней памяти. Конечно, вы можете создавать резервные копии и переносить их, когда закончите.
  • Эти сборки AOSP в настоящее времяне предназначен для использования в качестве ежедневного водителя. Они очень просты и не предлагают множество предустановленных функций или приложений. Вам придется прошивать приложения Google самостоятельно. Вам придется вручную ввести настройки APN вашего оператора, чтобы мобильные данные работали (если они работают). Все будет глючить, пока не будут предприняты дополнительные усилия по развитию.

Заключение

Google не шутил, когда говорил, что Project Treble, возможно, стал одним из самых больших изменений в работе Android. Мы можем сами увидеть, прямо здесь и сейчас, какое влияние это может оказать. Treble может стать тем толчком, который необходим сообществу разработчиков для оживления рынка пользовательских ПЗУ. Загрузка почти полностью функционирующего ПЗУ AOSP на Huawei Mate 9 заняла менее 1 дня. Я с нетерпением жду работы, которая будет проделана для других устройств с поддержкой Treble.