Project Treble, представленный в Android Oreo, был попыткой Google помочь разработчикам телефонов интегрировать основные обновления Android в свои специализированные прошивки и быстрее распространять обновления для своих пользователей. Это было необходимо, потому что в течение долгого времени многие компании отставали в адаптации последних обновлений безопасности от Google, оставляя потребителей в опасности.
Это была не только ошибка разработчиков телефона, потому что обновления программного обеспечения проходят через целый ряд процессов. Когда Google выпускает обновление, его сначала нужно отправить производителям чипсетов (Qualcomm, Mediatek, Samsung / Exynos). Обновления должны применяться ко всему коду, связанному с внутренним оборудованием телефонов. После этого разработчики телефонов могут начать интегрировать обновления Google в собственное программное обеспечение, настраивать его по своему вкусу и т. Д.
Таким образом, Project Treble был для разработчиков телефонов намного проще предоставлять пользователям последние обновления Android непосредственно от Google. Конечно, это на самом деле практически не повлияло на отрасль — оказывается, что большинство телефонных компаний на самом деле не особо заботятся о предоставлении пользователям последних обновлений для Android. Послепродажные обновления едва ли являются приоритетом.
Тем не менее, Project Treble имел значительные преимущества для сообщества моддинга ROM и Android. Поскольку пользователи устройств с поддержкой Project Treble могут прошивать ПЗУ, не касаясь раздела / vendor, это означает, что разработчикам пользовательских ПЗУ не нужно возиться с проприетарными драйверами устройства и уровнями аппаратной абстракции. Проще говоря, с появлением Project Treble разработка и перепрошивка пользовательских ПЗУ стала намного проще.
Если вы хотите прошить GSI Project Treble ROM на свое устройство Android, внимательно прочитайте это руководство! Это действительно довольно просто, но есть определенные вещи, о которых нужно знать.
Требования:
- Разблокированный загрузчик
- Project Treble совместимое устройство
- Стандартный загрузочный диск / ramdisk (Xposed, SuperSU или Magisk не установлены). Вы можете переустановить их позже.
Для устройств, которые официально совместимы с Project Treble
- Сначала вам нужно разблокировать загрузчик вашего устройства, если это еще не сделано. Вы можете найти практическое руководство Appuals, у нас есть много руководств по разблокировке и руту для многих популярных устройств Android.
- Далее вы можете загрузить выбранный GSI на свой ПК. Вы можете в значительной степени прошить чистый AOSP ROM или GSI-версии популярных пользовательских ROM, таких как LineageOS или Resurrection Remix. Просто убедитесь, что загружаемое ПЗУ готово к GSI.
- Вам также необходимо убедиться, что вы загружаете правильное ПЗУ для вашего типа архитектуры устройства, а также типа раздела. Например, если ваше устройство поддерживает непрерывное обновление, вы должны загрузить A / B-совместимый образ. В противном случае загрузите только изображение.
Для устройств, которые могут быть неофициально совместимы с Project Treble
- Разблокируйте загрузчик вашего устройства.
- См. Список неофициально поддерживаемых устройств Project Treble. Если ваше устройство находится в списке, нажмите соответствующую ссылку (Источник) и следуйте инструкциям для этого устройства.
- Загрузите диск GSI ROM на свой компьютер.
Прошивка GSI-изображения с помощью TWRP
Мы рекомендуем использовать TWRP как самый простой способ для мигания изображения GSI. Если у вас нет TWRP на вашем устройстве, мы рекомендуем поискать Appuals для корневого руководства для вашего устройства.
- Передайте образ GSI с вашего ПК на ваше устройство.
- Перезагрузите устройство в TWRP и нажмите «Установить» в главном меню.
- Если вы не видите файл, который вы передали, измените тип с «zip» на «изображение».
- Выберите, чтобы прошить образ в системный раздел. По завершении перезагрузите устройство.
- Вашему устройству потребуется несколько минут для самоорганизации, а затем оно должно загрузиться в ваш новый ROM.
Мигает изображение GSI без TWRP
Вам необходимо сбросить настройки устройства перед продолжением. Обычно это можно сделать в меню «Настройки» в системе Android (обычно «Настройки»> «Резервное копирование»). Кроме того, вы можете сделать это из стандартного восстановления вашего устройства (комбинации кнопок для загрузки в стандартное восстановление зависят от производителя / устройства). Вы также можете использовать ADB (восстановление перезагрузки ADB).
- После того, как вы вернете устройство к заводским настройкам, перезагрузитесь в загрузчик, используя либо комбинации кнопок вашего устройства, либо загрузчик adb reboot.
- Перейдя в режим загрузчика, подключите устройство Android к компьютеру через USB и запустите на своем компьютере терминал ADB. Также поместите образ GSI, который вы собираетесь мигать, в ваш основной путь ADB.
- Введите команду: fastboot erase system
- Далее вы можете использовать: fastboot -u flash system name_of_system.img
- Замените «name_of_system.img» именем вашего GSI-изображения.
- Когда ваше устройство подключено к вашему ПК, откройте окно командной строки или терминала в том же каталоге, куда вы загрузили выбранный вами GSI.
- Введите следующую команду: fastboot erase system
- Введите команду в следующем формате: fastboot -u flash system name_of_system.img
- После того, как он успешно прошит, вы можете перезагрузить устройство с помощью команды «fastboot reboot». Ваше устройство должно загрузиться в систему Android.
Поиск проблемы
- На таких устройствах, как Google Pixel 2/2 XL, необходимо отключить Android Verified Boot. Это можно сделать, перепрограммировав это изображение с помощью команды ADB: fastboot flash vbmeta name_of_vbmeta.img
- Для некоторых телефонов DM-Verity может препятствовать загрузке вашего устройства образа GSI. Вы можете загрузить его, перепрограммировав Magisk после обновления образа GSI — это необходимо, например, для Razer Phone.
- Наконец, вам может понадобиться попробовать общий формат раздела данных, введя «fastboot -w» из окна ADB, когда ваше устройство находится в режиме загрузчика.