Революція в користувацьких ПЗУ: як Project Treble робить портування Android Oreo одноденною роботою

Дослідження того, як Project Treble революціонізує користувацькі ПЗУ. Перенесення Android Oreo на Huawei Mate 9 зайняло менше 1 дня.

Форуми XDA протягом багатьох років були центральним місцем збору нестандартних ПЗУ. Саме завдяки наполегливій роботі розробників на наших форумах багато старіших смартфонів Android зберігаються за допомогою користувальницьких ПЗУ іноді через роки після того, як пристрої були залишені виробником пристроїв. Хоча сьогодні більшість виробників випускають методи розблокування завантажувача, часті затримки у випусках вихідних кодів ядра гальмують розробку спеціального ПЗУ на багатьох смартфонах. Однак незабаром це може змінитися завдяки чомусь під назвою "Проект Treble», який було анонсовано біля випуску Android Oreo. Завдяки Project Treble час, необхідний для перенесення ПЗУ AOSP на пристрій, більше не займатиме тижні чи місяці, а це має зайняти лише дні.

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

OldDroid назвав це відкриття "прорив" у розробці спеціального ПЗУ AOSP. Завдяки підтримці Project Treble, наприклад, Я зміг завантажитися a майже повністю функціональна ПЗУ Android 8.0 Oreo на Huawei Mate 9— пристрій, який досі не бачив жодного AOSP Android Nougat ROM.

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

Цілком можливо, що в майбутньому ми побачимо єдиний образ системи, який зможе працювати на десятках різні смартфони Android, подібно до того, як Microsoft Windows може працювати майже на будь-якому комп’ютері обладнання. Щоб заохотити подальший розвиток на цьому фронті, ми відкрили a новий форум, присвячений проекту Treble увімкнені пристрої. Наразі форум орієнтований на розробників, тому, будь ласка, не створюйте нову тему, якщо ви не зацікавлені в розвитку. Якщо ви бажаєте допомогти протестувати образи системи, сумісні з Treble, не соромтеся залишати коментарі до існуючих тем.

Приєднуйтеся до Форуму розвитку проекту Treble

Враховуючи важливість цієї розробки та складність теми, я подумав, що підійду до цієї статті дещо інакше, ніж до інших. Я наведу маркований список, пояснюючи деякі поширені запитання, які можуть виникати у людей, а також вказую на ключові факти щодо цієї останньої розробки.


Що таке Project Treble?

Кредити: Google

Проект Treble найчастіше описується як спроба Google модульувати структуру ОС Android, щоб відокремити код від постачальника. Розберемо дещо докладніше:

  • Повний процес оновлення для встановлення нової версії Android на пристрої – це довга та складна тема, але Sony виконала чудову роботу з цю інфографіку який описує основні кроки.
  • «Постачальник» зазвичай відноситься до виробників кремнію, таких як Qualcomm, але також може стосуватися виробника будь-якого іншого запатентованого апаратного забезпечення, знайденого в пристрої. «Виробнику пристроїв» або «OEM» зазвичай потрібно чекати, доки постачальник оновить свій код, щоб фірмове обладнання працювало з інфраструктурою ОС Android у новішій версії Android.
  • Однак те, що відбувається з Project Treble, полягає в тому, що Google вимагає, щоб будь-який спеціальний код постачальника буде відокремлений від інфраструктури ОС Android і натомість живуть у власній реалізації постачальника. Зазвичай це означає, що на смартфонах із підтримкою високих частот тепер існує окремий розділ /vendor, який містить групу HAL (рівнів апаратної абстракції).
  • Крім того, постачальники повинні впроваджувати код, який дозволяє інфраструктурі ОС Android зв’язуватися з HAL стандартизованим способом. Це робиться через HIDL (HAL Interface Definition Language). Завдяки цьому OEM може працювати над оновленням Android, не чекаючи, поки постачальники оновлять свої HAL. Теоретично це має прискорити весь процес оновлення Android оскільки постачальники можуть оновити свій код у будь-який час через Play Store, наприклад.
  • Щоб зрозуміти, що таке HAL і як він пов’язаний з Android, розглянемо аналогію. Уявіть собі автомобіль. Кермо й гальма — HAL, а драйвер — платформа ОС Android. Водій (Android) рухає кермом і натискає на гальма (HAL), щоб контролювати рух автомобіля (апаратне забезпечення).
  • А тепер уявіть, якби ми жили у світі, де кожен виробник автомобілів вирішив би сконструювати кермо чи змінити гальма зовсім по-іншому. Якщо ви посадите водія в нову машину, він може бути збентежений тим, як спочатку керувати транспортним засобом. Але завдяки стандартам кожен водій повинен знати, як працювати з кермом і гальмами практично на будь-якому автомобілі. Крім того, автошкола навчає всіх водіїв правильному керуванню транспортним засобом. У цій аналогії транспортні стандарти – це Project Treble, а автошкола – HIDL.

Android Oreo на Honor 8 Pro. Подяки: визнаний XDA розробник OldDroid

Які пристрої отримають підтримку Project Treble?

  • Усі пристрої, які запуск з Android 8.0 Oreo або вище повинні повністю підтримувати Проект Treble.
  • Усі пристрої, які оновити до Android 8.0 Oreo є не вимагається для повної підтримки Project Treble.
  • Пристрої, які мають оновлення (офіційні випуски або закриті бета-версії) до Android 8.0 Oreo та підтримують Treble, включають:
    • Google Pixel
    • Google Pixel XL
    • Huawei Mate 9
    • Honor 8 Pro
    • Честь 9
    • Основний телефон
  • Малоймовірно, що будь-які пристрої неофіційно отримають підтримку Project Treble через спеціальну розробку ПЗУ. Зрештою, HAL не є відкритим кодом.

Чому Project Treble такий важливий для ПЗУ AOSP?

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

Як зараз випробувати Android Oreo на своєму пристрої?

Якщо ви справді любите пригод і хочете просто зараз випробувати одну з цих збірок Project Treble на своєму телефоні, у phhusson є системні образи, які вам потрібно завантажити на його тема на нашому форумі Project Treble. Однак вам слід пам’ятати про кілька речей:

  • Вам знадобиться розблокований завантажувач і повинні бути знайомі з використанням команди швидкого завантаження для спалаху зображень.
  • Ваш пристрій повинен вже працює під управлінням Android Oreo. Ці образи системи не "оновлюють" ваш пристрій. Якщо ви використовуєте один із пристроїв Huawei/Honor, згаданих у цій статті, ви можете переглянути на наших форумах посібник або скористатися Сервіс FunkyHuawei.club щоб неофіційно оновити свій телефон до однієї із закритих бета-версій Oreo.
  • Ви повинні бути готові втратити дані або оновити заводські образи під час тестування. Найкращий спосіб забезпечити це завантаження — стерти розділ даних користувача, що включає видалення всього вмісту вашої внутрішньої пам’яті. Звичайно, ви можете створити резервні копії та перенести їх, коли закінчите.
  • Це збірки AOSP в даний часне призначений для щоденного використання. Вони надзвичайно голі кістки та не пропонують багато функцій або попередньо встановлених програм. Вам доведеться самостійно прошивати програми Google. Вам доведеться вручну ввести налаштування APN свого оператора, щоб мобільні дані працювали (якщо вони працюють). Усе буде з помилками, доки не буде докладено більше зусиль щодо розробки.

Висновок

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