Разработка и портирование GSI-прошивок
Какой Архитектурой Вы Пользуетесь?
Архитектуры.
arm64-ab [ 3695 ] ** [56.2%]
arm64-a [ 1786 ] ** [27.16%]
a64-ab [ 488 ] ** [7.42%]
a64-a [ 166 ] ** [2.52%]
arm-ab [ 67 ] ** [1.02%]
arm-a [ 373 ] ** [5.67%]
Всего голосов: 6575
 



Реп: (2642)
Разработка и портирование GSI-прошивок





Обязательно к прочтению!
Уважаемые пользователи!
Напоминаю, что наш раздел называется «Android - Разработка и программирование», а это значит, что данная тема предназначена прежде всего для разработчиков.

Поэтому с сегодняшнего дня в теме запрещается обсуждение нюансов работы GSI-прошивок на конкретных устройствах. Все эти вопросы обсуждаются в темах по прошивкам ваших устройств в разделе «Android - Прошивки».
Это официальное предупреждение. За игнорирование этого предупреждения особо настырные получат режим read-only ("только чтение")
.

Благодарю за понимание! Приятного общения.


Читать обязательно.
Для отчёта/отзыва, сообщения о проблеме.
Разработка и портирование GSI-прошивок (Пост derak1129 #95942923)


Описание
Что такое Project Treble?

Project Treble разделяет низкоуровневые драйверы и остальную часть операционной системы, чтобы производители и сторонние разработчики имели возможность быстрее и легче выпускать обновления. Для устройств с Android 8.x Oreo «из коробки» поддержка Treble является обязательным условием, а для более старых смартфонов и планшетов опция доступна на выбор.

Инструкции
FAQ

Универсальные инструкции

Инструкции по сборке/портированию


Прошивки
Шаблон для оформления поста с прошивкой

Патчи для запуска прошивок gsi.
Lite GSI Images - Урезанные Образы Прошивок От zerovoid
Android All GSIs + Дополнение

Android 15
Android 14
Android 13
Android 12.x

Android 12.1:

Android 12:


Android 11
Прошивки от ~Игорь~
Прошивки от Braialindo

Официальный релиз
Обновляемый пост переводов для прошивок


Android 10
Прошивки от ~Игорь~
Сборник прошивок от Igor~s


Релиз Android 10



Android 9


Android 8.x.x


Решение проблем
Сертификация устройства




Полезное




Сообщение отредактировал Boy77ruS - 22.02.24, 00:07
Причина редактирования: Pixel V DP1



Реп: (2130)
bullik01 @ 11.03.18, 17:51 *
Пишем команду:
Код
getprop ro.treble.enabled
3. true = Устройство поддерживает/совместимо с Project Treble
4. false = Устройство НЕ поддерживает/совместимо с Project Treble

Не шибко корректная проверка. В build.prop добавляется строка
ro.treble.enabled=true

и вуаля, Project Treble "поддерживается"



Реп: (2642)
* crashjant, я об этом думал тоже.. Но если вы добавите данную строчку и попытаетесь обновиться... Что произойдёт? Правильно! Ничего хорошего :D



Реп: (2130)
bullik01 @ 11.03.18, 20:25 *
Правильно! Ничего хорошего :D
А я о чем? Именно об этом. Что софтина, что команда в терминале - не показатель

Сообщение отредактировал UFOOLED - 11.03.18, 21:32



Реп: (2642)
FAQ по Project Treble

В: Что такое GSI (рус. ООС)?
О: GSI = Generic System Image (рус. ООС = Общий образ системы)

В: Почему сканер отпечатков/кнопка/и т.д. пробуждения не работает?
О: Эти функции по умолчанию (на данный момент) не включены в прошивки с ООС (GSI) и ещё из-за того что Project Treble пока развивается. Для некоторых устройств специально будут выкладываться т.н. "Решения" или будут интегрироваться сразу (как например в прошивках от команды JDC).

В: Как я могу вернуться на обычную кастомную прошивку и что мне для этого нужно?
О: Нужно прошиться как обычно через TWRP и всё. Прошивка кастомной прошивки (ред.: сорри за тавтологию, но на русском по другому не скажешь :D ) переписывает boot.img и раздел /system... Раздел vendor остаётся на месте и ожидает следующих тестов! :)

В: Если я вернусь на кастомную прошивки и захочу вернуть поддержку Project Treble, то что мне для этого нужно?
О: Нужно просто прошить архив активирующий поддержку Project Treble (Treble.zip) через TWRP как в первый раз. Для РТ нужен boot.img и vendor.img установленные внутри устройства. Больше ничего не нужно

В: AOSP с ООС от Phh очень скуден в функционале. Почему так?
О: Это всё из-за того что AOSP c OOC от Phh не кастомная прошивка, а обычный AOSP. И вообще данная прошивка была собрана в экспериментальных целях для того что бы было максимально просто её устанавливать на большинство устройств с поддержкой Project Treble.
Эта поддержка может быть и "из коробки", сразу по обновлению на обычную прошивку Oreo или же может быть добавлена энтузиастами на "не поддерживаемые" устройства.
На сегодня прошивка AOSP с ООС от Phh не очень хороша для повседневного использования... или можно даже сказать что она хороша только для любителей ультра чистой системы.
Мы надеемся, что в будущем многие кастомные прошивки перейдут на ООС (как например JDC или TeamMex), тогда мы будем иметь "базу" с поддержкой Тreble для новых проектов под наши устройства.

В: Как получить ROOT на AOSP с ООС от Phh?
О: Для начала нужно скачать образы с GAPPS и SU. После установки, находим в маркете приложение "phh superuser" для управления доступом суперпользователя для остальных приложений требующих наличие ROOT/права суперпользователя.

В: Какой у меня тип системного раздела? A-only или A/B?
О: Ставим приложение → ТЫК и смотрим название архитектуры в первом блоке
Куда нужно смотреть
Прикрепленное изображение


В: Если у меня тип системного раздела, например, A (A-only), то я могу ставить прошивки для предназначенные для A/B тоже?
О: Нет, не можете. Вы можете ставить только для прошивки поддерживающие Ваш тип системного раздела (в данном случае это А)

В: Как установить прошивку с ООС через TWRP?
О: Читайте тут

В: Я разработчик и хотел бы собрать прошивку с ООС, как я могу это сделать?
О: Читайте тут (инструкция)

В: Почему последние прошивки с ООС идут в формате .xz и имеют небольшой вес?
О: Начиная с AOSP [Phh] v19 (2018-06-03) - релизы сжимаются в xz. Перед прошивкой нужно распаковать архив.

В: Как определить какой у меня тип раздела через программу Treble Check?
О:
Определяем тип раздела
Если Вы наблюдаете следующую картину (только сверху есть галочка), то у Вас тип системного раздела А (A-only):
Прикрепленное изображение

Если Вы наблюдаете следующую картину (есть обе галочки), то у Вас тип системного раздела А/B


В: Есть ли смысл от Project Treble? Телефон станет ракетой, или батарею будет активно 5 дней держать?
О: Есть, если хотите установить стабильную базу, и ООС со всеми "плюшками" о которых вы мечтали, но не смогли использовать прошивку под ваше устройство из-за багов, или ее отсутствие.

В: Что за обозначения у прошивок "arm A"/"arm64 A"/"arm64 A/B"? Что они означают?
О: "arm" - обозначение архитектуры; "A" - тип раздела (тип образа)

В: Почему я должен использовать образ (GSI) для типа раздела A/B если у меня А?
О: Начиная с 9-й версии Android, компания Google поменяла требования и все устройства поставляемые с Android 9 на борту должны использовать "system-as-root". До этих изменений, только устройства с типом раздела A/B, где "system-as-root" и имя ООС разделены на A и A/B. Из-за вышеописанных причин Вы должны использовать образ (GSI) для типа раздела A/B на устройствах поставляемых с Android 9 и выше.

В: У меня на устройстве установлен пароль/шаблон/код. После смены прошивки не могу войти... Что делать?
О: Нужно прошить через TWRP следующий файл - Скрипт сбрасывающий пароли с помощью кастомного Recovery [TWRP]

В процессе наполнения...

#Вшапке

Сообщение отредактировал KazukiAmazui - 31.12.21, 10:07
Причина редактирования: Правки (31.12.2021)



Реп: (2642)
Night Light, Ambient Display или Адаптивная яркость (оптимизированная) и прочие полезные штуки


Инструкция:
  1. Скачайте оверлей (качаем нижние) - framework-res__auto_generated_rro.apk: Прикрепленный файлframework-res__auto_generated_rro.apk ( 3.94 КБ )

    ИЛИ этот если проблемы (самый стабильный вариант!) → Прикрепленный файлframework-res__auto_generated_rro.apk ( 5.67 КБ )

    ИЛИ этот (с Always on Display, на свой страх и т.д.) → Прикрепленный файлframework-res__auto_generated_rro.apk ( 6.17 КБ )

  2. Используя ROOT-права закиньте оверлей в /vendor/overlay
  3. Качаем и устанавливаем терминал на устройство. Выдаём ему ROOT-права
  4. Выполняем в терминале код:
    chcon u:object_r:vendor_overlay_file:s0 /vendor/overlay;chcon u:object_r:vendor_overlay_file:s0 /vendor/overlay/framework-res__auto_generated_rro.apk

  5. Перезагружаемся


Тестируйте... :blush:

#Вшапке

Сообщение отредактировал bullik01 - 14.03.18, 19:21



Реп: (3)
Активно слежу за развитием Project Treble. Сама инициатива очень обширна и затрагивает много интересных изменений в дальнейшем развитии системы. Тут немного доп. информации.
1. Первая стабильная оф. версия PT появилась только с выходом Oreo 8.1. В 8.0 была частичная реализация с отдельными вендорскими модулями вне PT. Соответственно, девайсы, вышедшие с 8.1 из коробки, могут рассчитывать на наиболее полную совместимость в дальнейшем. Апдейт недостающих HAL в вендор разделе для устройств вышедших с 8.0 возможен, но остаётся на совести производителя.
2. API в новых версиях Android, как и раньше, будут добавляться/удаляться/изменяться. Разница в том, что теперь после стабилизация API у новой версии, Google будет проводить отдельную работу по обеспечению совместимости с предыдущим поколением Treble, адаптируя изменённые части системы. Фактически они будут делать примерно то же, что до этого делали писатели кастомных прошивок, но по отношению к единой стандартизированной модели (для каждого поколения Treble) и с соответствующим уровнем качества.
3. Текущий оф. срок поддержки одного поколения PT планируется в 3 года. После этого будет проводиться анализ, какие из старых HAL можно исключить из поддержки, основываясь на количестве реализаций в устройствах и сложности адаптации. Пока сроки сильно предварительны и могут измениться в большую сторону, т.к. большая цель Google - ликвидировать фрагментацию в экосистеме. Плюс не забываем возможность обновления HAL со стороны вендоров и сообщества.
4. Теперь Google строго определяет версии ядра, с которым можно выпускать устройство, чего до этого никогда не было. На текущий момент минимальная версия для устройств с Oreo из коробки - 4.4. Вместе с этим прямо на презентации Treble было впервые объявлено о расширении поддержки LTS релизов ядра Linux с 2 до 6 лет, опять же, с версии 4.4. Таким образом планируется максимально облегчить выпуск патчей безопасности, т.к. ликвидируется необходимость их портирования на предыдущие не поддерживаемые версии ядер.
5. В дальнейших планах Google стоит полная унификация ядра Android, которое будет обязательно для всех, а также выделение всех вендорских надстроек над AOSP в отдельные подключаемые модули. Это позволит максимально контролировать обновления и поддержку, не ограничивая при этом вендоров в модификациях.

Тут можно посмотреть презентацию Малчева (ответственный за PT в Google) с объяснением концепции. Также где-то был подкаст с ним с более поздней инфой, найти не могу сейчас, но основные моменты оттуда изложил выше.

Сообщение отредактировал Entropic Sloth - 14.03.18, 04:30



Реп: (54)
Хей, а как самому реализовать PT на своём девайсе?



Реп: (2642)
* DP_OSK, изучаем тему → https://forum.xda-deve…treble-ported-t3744602



Реп: (2642)
Название: AOSP - Android 8.x Oreo - arm A, arm64 A, arm64 A/B
Автор: phhusson
Источник на английском: XDA
Известные баги:
  • Неизвестно

Скриншоты:
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

Скачать: XDA

#Вшапке

Сообщение отредактировал bullik01 - 30.08.18, 17:42



Реп: (325)
MEGA_PRO @ 21.03.18, 01:56 *
там нет гайда
Кроме этой ветки с темами про PT пока ничего нет:
https://forum.xda-deve…led-device-development
Стоит понимать, что у всех девайсов без оф. поддержки PT свой изюм (халы, либы)
и если и будет гайд, то не скоро.



Реп: (2642)
Название: Resurrection Remix (RR) - Android 8.x Oreo - arm A, arm64 A, arm64 A/B
Автор: phhusson
Источник на английском: XDA
Известные баги:
  • Неизвестно

Скриншоты: Такие же как и у остальных RR
Скачать: XDA

#Вшапке

Сообщение отредактировал bullik01 - 30.08.18, 17:49



Реп: (2642)
Название: LineageOS 15.1 - Android 8.x Oreo - arm A, arm64 A, arm64 A/B
Автор: phhusson
Источник на английском: XDA
Известные баги:
  • Неизвестно

Скриншоты: Ожидаем
Скачать: XDA

#Вшапке

Сообщение отредактировал bullik01 - 30.08.18, 17:53



Реп: (306)
у кого есть время, проверьте пожалуйста прошивку ressurection remix
gsi по ссылке https://cloud.mail.ru/public/N4jE/UwpWYPgzr
ничем не отличается от такого от phh, просто тест для сборки других прошивок (aokp пока что в плане)



Реп: (8981)
userford86 @ 10.04.18, 17:10 *
Увидеть бы полный список устройств с Project Treble, которые вышли с android 8
Какой в этом смысл? Все устройства с нулевой версией Android 8.0+ будут поддерживать Treble, список остальных устройств в шапке.

userford86 @ 10.04.18, 17:10 *
Ну и необходимо поглядеть, насколько разительная разница будет, насколько быстрее устройства с treble станут обновлять с момента релиза очередной версии android.
Ни на сколько. Если производитель не хочет выпускать обновления - он не будет выпускать обновления. И Treble этому не способствует и ничему не обязывает.
Дело в удобстве, а не в скорости.



Реп: (367)
Displax @ 10.04.18, 17:35 *
Если производитель не хочет выпускать обновления - он не будет выпускать обновления. И Treble этому не способствует и ничему не обязывает.
вот этот момент по подробнее осветите,если не сложно.Пока представление о проекте как раз иное.



Реп: (8981)
* OlegST,
Project Treble направлен на упрощение перехода между версиями Android. Сводит к минимуму зависимость от проприетарного кода.
Разработчикам прошивок проще жить становится. Как официальным командам, так и разработчикам кастомов. Но если компания не заинтересована в обновлении своих продуктов, то никакие программные изыскания этого не изменят.
Зато для комьюнити открываются новые возможности.



Реп: (367)
* Displax, вы хотите сказать,что на телефон с поддержкой требл,но который производитель не хочет обновлять,нельзя буде поставить требл прошивка со старшей версии,которая обновляется?

Добавлено 10.04.2018, 18:22:

* Den147, оболочки интересуют в последнюю очередь.



Реп: (5)
* Displax,
Ни на сколько. Если производитель не хочет выпускать обновления - он не будет выпускать обновления. И Treble этому не способствует и ничему не обязывает.
Дело в удобстве, а не в скорости.

Могу я с вами не согласиться? treble за счет уже изначально внедренном удобстве, облегчающем обновление устройства, в теории, я полагаю, позволяет думать, что производителю такое устройство обновлять будет не только легче, но и он будет это делать быстрее. Возможно, именно этого и добивался google, они понимали что единственный способ борьбы с фрагментацией и ленью вендоров это облегчить им жизнь. Личное субъективное мнение.



Реп: (8981)
OlegST @ 10.04.18, 18:21 *
вы хотите сказать,что на телефон с поддержкой требл,но который производитель не хочет обновлять,нельзя буде поставить требл прошивка со старшей версии,которая обновляется?
Нет, не так. Я имел ввиду официальную поддержку. Сторонние Treble образы вы естественно можете устанавливать.

* userford86,
Так то оно так. Но маркетинг зачастую идет вразрез с желаниями пользователей и возможностями разработчиков. Начальство скажет не обновлять - обновлять не будут.
Но это уже так, оффтоп.



Реп: (25)
* userford86,
Вот вы думаете что разработчики не обновляют ПО из-за неудобства или сложности?
Им просто по барабану...
только xiaomi пытается, остальные просто забивают.

Тут вон на форумах любители, в свое свободное время, за "спасибо" собирают кастомы, а вы говорите что команде разработчиков трудно обновить


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 28.02.24, 10:03