Изследване на това как Project Treble революционизира персонализираните ROM. Пренасянето на Android Oreo към Huawei Mate 9 отне по-малко от 1 ден.
Форумите на XDA са централното събиране на персонализирани ROM разработки от години. Благодарение на упоритата работа на разработчиците в нашите форуми много по-стари смартфони с Android се поддържат живи от потребителски ROMS понякога години след като устройствата са били изоставени от производителя на устройства. Въпреки че повечето производители пускат методи за отключване на буутлоудъра в наши дни, честите забавяния в изданията на източника на ядрото задушиха разработването на персонализирана ROM на много смартфони. Това обаче може скоро да се промени благодарение на нещо, наречено "Проект Treble“, който беше обявен близо до пускането на Android Oreo. Благодарение на Project Treble, времето, необходимо за пренасяне на AOSP ROM на устройство, вече не трябва да отнема седмици или месеци - вместо това трябва да отнеме само дни.
За тези от вас, които следят персонализираната ROM сцена от години, може би вече сте наясно колко значима е тази новина. XDA признат разработчик
OldDroid нарече това разкритие "пробив" в персонализирана разработка на AOSP ROM. Благодарение на поддръжката на Project Treble, например, Успях да стартирам а почти напълно работещ Android 8.0 Oreo ROM на Huawei Mate 9— устройство, което досега дори не е виждало нито един AOSP Android Nougat ROM.Скоро може да станем свидетели на революция в разработката на потребителски ROM благодарение на първоначалните усилия за разработка на този фронт от XDA Senior Member фхюсън. След 20 часа работа в проучване, разработване и отстраняване на грешки с мен, phhusson създаде системен образ, който може да бъде стартиран на множество устройства от различни производители и с напълно различни 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 нов форум, посветен на Project Treble активирани устройства. В момента форумът е насочен към разработчици, така че, моля, въздържайте се от започване на нова тема, освен ако не желаете да допринесете за развитието. Ако желаете да помогнете при тестването на съвместими с Treble системни изображения, не се колебайте да оставяте коментари за съществуващи теми.
Присъединете се към форума за развитие на Project Treble
Като се има предвид значението на това развитие и сложността на темата, реших, че ще подходя към тази статия малко по-различно от останалите. Ще представя списък с точки, обясняващ някои често срещани въпроси, които хората може да имат, както и ще посоча ключови факти относно това последно развитие.
Какво е Project Treble?
Проектът Treble най-често се описва като опит на Google да модулизира рамката на Android OS, за да отдели специфичния код на доставчика. Нека разбием нещата малко по-подробно:
- Пълният процес на актуализиране за предоставяне на нова версия на Android на устройства е дълга и сложна тема, но Sony свърши страхотна работа с тази инфографика който очертава основните стъпки.
- „Доставчикът“ обикновено се отнася до производители на силиций като Qualcomm, но може да се отнася и до производителя на всеки друг частен хардуер, открит в дадено устройство. „Производителят на устройства“ или „OEM“ обикновено трябва да изчака доставчикът да актуализира техния код, така че собственият хардуер да работи с рамката на Android OS в по-нова версия на Android.
- Но това, което се случва с Project Treble е, че Google изисква това специфичният за доставчика код да бъде отделен от рамката на Android OS и вместо това живее в собствената си реализация на доставчика. Обикновено това означава, че вече има отделен /vendor дял на смартфони с активиран Treble, който съдържа куп HAL (хардуерни абстракционни слоеве).
- Освен това доставчиците трябва да внедрят код, който позволява на рамката на Android OS да комуникира с HAL по стандартизиран начин. Това става чрез HIDL (Език за дефиниране на интерфейс HAL). С това място OEM може да работи върху актуализация на Android, без да се налага да чака доставчиците да актуализират своите HAL. Теоретично това трябва да ускори целия процес на актуализиране на Android тъй като доставчиците могат да актуализират своя код по всяко време през Play Store, например.
- За да разберем какво е HAL и каква е връзката му с Android, нека разгледаме една аналогия. Представете си кола. Воланът и спирачките са HAL, докато водачът е Android OS framework. Шофьорът (Android) движи волана и натиска спирачките (HAL), за да контролира движението на автомобила (хардуера).
- Сега си представете, ако живеем в свят, в който всеки производител на автомобили реши да проектира воланите си или да пренареди спирачките си по напълно различен начин. Ако поставите шофьор в нова кола, той може да се обърка с това как първоначално да управлява превозното средство. Но благодарение на стандартите, всеки шофьор трябва да е запознат с това как да управлява волана и спирачките на почти всяка кола. Освен това автошколата учи всички водачи на правилния начин за управление на превозно средство. В тази аналогия стандартите за превозни средства са Project Treble, а автошколата е HIDL.
Какви устройства ще получат поддръжка на 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 чрез персонализирана разработка на ROM. В крайна сметка HAL не са с отворен код.
Защо Project Treble е толкова важен за AOSP ROM?
- За да се гарантира, че кодът на доставчика е правилно отделен от рамката на Android OS по начина, по който Project Treble изисква, Google е настроил Vendor Test Suite (VTS), който устройствата трябва да преминат, за да бъдат сертифицирани от Google. Сертифицирането на Google е важно, защото без него не е позволено да се доставят устройства с предварително инсталирани приложения и услуги на Google Play.
- Едно от изискванията във VTS е устройство с възможност за Treble трябва да може да стартира а необработена, генерична компилация на AOSP. Поради това изискване OEM производителите трябва да доставят устройства, които могат да стартират AOSP без никакви проблеми.
- Въпреки че точният ROM, който Google използва и споделя с OEM производителите за VTS, не е публичен, XDA Senior Member phhusson успя да разбере как да пресъздам този ROM от източника.
- Така сега имаме работещ AOSP ROM гарантирано за стартиране на Project Treble устройства. По-голямата част от работата вече беше свършена от OEM производители и доставчици, така че вече не е необходимо независимите разработчици в нашите форуми бъркайте с изходния код на ядрото или HAL хакерство. На теория AOSP ROM трябва „просто да работи“, което показахме, че е основно вярно на устройствата, които сме тествали.
- В момента съвместимостта е не 100% с всички устройства, на които системният образ може да се стартира. Има и такива състезателни условия които трябва да се разберат. Въпреки това, Project Treble значително намалява обема на развойната работа който е необходим за пренасяне на AOSP ROM на устройства, които не са на Google. Със сътрудничеството на повече разработчици в нашия Форум на Project Treble, очакваме да видим развитието на Treble устройства да върви дълъг път.
Как да изпробвам Android Oreo на моето устройство сега?
Ако сте наистина приключенски настроени и искате да изпробвате една от тези компилации на Project Treble на телефона си точно сега, phhusson има системните изображения, които трябва да изтеглите от неговата тема в нашия форум на Project Treble. Все пак има няколко неща, които трябва да имате предвид:
- Ще имате нужда от отключен буутлоудър и трябва да сте запознати с използването команди за бързо зареждане за мигане на изображения.
- Вашето устройство трябва вече работи с Android Oreo. Тези системни изображения не „надграждат“ вашето устройство. Ако използвате едно от устройствата Huawei/Honor, споменати в тази статия, можете да потърсите ръководство в нашите форуми или да използвате Услуга FunkyHuawei.club неофициално да актуализирате телефона си до една от затворените бета версии на Oreo.
- Трябва да имате желание загубите данни или презаредите фабричните изображения докато тествате. Най-добрият начин да гарантирате това зареждане е да изтриете дяла с потребителски данни, което включва изтриване на цялото съдържание на вашата вътрешна памет. Разбира се, можете да направите резервни копия и да ги прехвърлите, след като сте готови.
- Тези компилации на AOSP са понастоящемне е предназначен за използване като ежедневни шофьори. Те са изключително чисти и не предлагат много функции или предварително инсталирани приложения. Ще трябва сами да флашнете приложенията на Google. Ще трябва ръчно да въведете APN настройките на вашия оператор, за да работят мобилните данни (ако работят). Нещата ще бъдат бъгови, докато не бъдат положени повече усилия за развитие.
Заключение
Google не се шегуваха, когато казаха, че Project Treble е може би една от най-големите промени в начина, по който работи Android. Можем да видим сами, точно тук и сега, колко голямо въздействие може да има. Treble може да бъде тласъкът, от който общността на разработчиците се нуждае, за да съживи персонализираната ROM сцена. Отне по-малко от 1 ден за зареждане на почти напълно функциониращ AOSP ROM на Huawei Mate 9. Вълнувам се да видя работата, която ще бъде извършена за други устройства с активиран Treble.