Андроид 10 aosp extended

Android 10. Неофициальные прошивки для смартфонов различных производителей (Постоянное обновление)

Статья от 09.09.2019: Как мы и предполагали ранее, кастомные или альтернативные прошивки на базе самой свежей на сегодняшний день версии операционной системы Google: Android 10 не заставили себя долго ждать. Мы уже сообщали вам о выходе прошивки для Asus ZenFone Max Pro M1, а сегодня хотим рассказать о прошивках для целого ряда смартфонов Xiaomi.

Речь идет о моделях Xiaomi Mi 6, Xiaomi Mi 8, Redmi Note 5 и Pocophone F1, которые получили неофициальные прошивки Android 10.

Все они созданы независимыми разработчиками со всемирно известного форума XDA-Developers и скачать их вы можете в соответствующих его ветках, адреса которых найдете ниже:

Само собой, речь идет о тестовых, пока еще не предназначенных для повседневного использования версиях прошивок, в которых могут не работать (или работать некорректно) некоторые основные функции. Тем не менее, они уже вполне пригодны для того, чтобы вы могли оценить основные нововведения и достоинства Android 10 прямо на своем смартфоне.

Также напомним, что для установки кастомной прошивки вам нужно будет разблокировать загрузчик смартфона, что приведет к его сбросу на заводские настройки с очисткой всех пользовательских данных, а также установить на него альтернативное рекавери, в качестве которого, обычно, выcтупает TWRP.

Добавлено 16.09.2019:

Прошла неделя и за это время ряды устройств, альтернативные Android 10 прошивки для которых начали создаваться независимыми разработчикам пополнились еще шестью моделями смартфонов разных производителей.

В этот раз речь идет о неофициальных сборках Lineage OS для следующих телефонов:

Добавлено 18.09.2019:

Возможность оценить возможности Android 10 получили владельцы очередной порции смартфонов различных производителей. Среди них:

Добавлено 20.09.2019:

К перечисленным выше устройствам добавилось еще три смартфона. Для всех из них появились прошивки Pixel Experience:

Добавлено 23.09.2019:

Перечень моделей смартфонов, владельцы которых уже могут оценить возможности самой свежей на сегодняшний день версии операционной системы Google на своем устройстве, используя для этого кастомную прошивку, продолжает пополняться:

Добавлено 27.09.2019:

С момента последнего обновления прошло несколько дней, за которые операционная система Android10 стала доступна для пяти новых устройств, среди которых оказался и первый планшет:

Добавлено 30.09.2019:

Сегодня мы хотим сообщить вам о выходе в свет следующих альтернативных прошивок:

Обновлено 05.10.2019:

С момента последнего обновления возможность установки на свои устройства кастомных Android прошивок получили владельцы:

Добавлено 14.10.2019:

Количество альтернативных Android прошивок для различных моделей устройств разных производителей продолжает расти. Их перечень пополнили:

Добавлено 23.10.2019:

За время, прошедшее с момента последнего обновления статьи, разработчики выпустили целый ряд прошивок на базе Android 10 для следующих смартфонов и планшетов: Xiaomi Mi A3, Moto G5S Plus, Huawei Mediapad M3 Lite, LeEco Le 2, Lenovo Vibe K5 Plus и Samsung Galaxy A5 (2015).

Скачать их вы можете в следующих ветках форума XDA:

Добавлено 25.10.2019:

Темпы появления новых прошивок для различных устройств заметно ускорились. За последние несколько дней они были выпущены для восьми моделей смартфонов и планшетов разных производителей.

Читайте также:  Java xml api android

Источник

Новейший Android уже можно установить на любой смартфон с поддержкой Project Treble

Благодаря инициативе Project Treble, которая призвана ускорить процесс обновления Android-устройств, можно установить GSI-сборку Android на основе AOSP без необходимости менять компоненты, отвечающие за работоспособность аппаратного обеспечения. OEM-производители, которым требуется сертификация Google, должны проверять свои устройства на соответствие требованиям Project Treble, загрузив эту сборку и протестировав основные функциональные возможности оборудования. Однако они не обязаны проверять их работоспособность. К сожалению, это означает, что GSI-сборки прекрасно работают на одних смартфонах и совершенно не работают на других. Вот тут на помощь приходят кастомные GSI, созданные сообществом разработчиков XDA.

Пользовательские GSI-сборки имеют минимум ошибок и поддерживают максимально возможное количество Android-устройств. К примеру, последняя версия GSI от разработчика Phhusson позволяет установить Android 10 на любое устройство, поддерживающее Project Treble, и делает это без нарушения работы основных системных функций, таких как Wi-Fi, сотовая связь, управление яркостью и так далее.

Google предлагает собственные GSI-сборки для Android 10, но они предназначены только для того, чтобы разработчики могли тестировать свои приложения на новом API. Если вы владеете популярной моделью смартфона, то у вас есть все шансы поставить на него кастомную прошивку с более свежим Android, в противном случае вам остаётся надеяться на PhIusson GSI. Эта сборка подходит для любого сертифицированного устройства, поддерживающего Project Treble (Android 8 Oreo и выше). Учтите, что вы можете столкнуться с некоторыми проблемами, если попытаетесь загрузить сборку на смартфон, приобретённый в Китае.

Для установки обновления необходимо выполнить три условия. Прежде всего убедитесь, что ваш смартфон поддерживает Project Treble. Для этого используйте утилиту Treble Info. Далее необходимо разблокировать загрузчик и установить кастомный Recovery. Последняя GSI-версия Android 10 находится на GitHub, инструкцию по прошивке можно взять на XDA. Также не лишним будет прочитать и саму тему с пользовательской сборкой от Phhusson.

Источник

Андроид 10 aosp extended

Начнем. Вы, наверное, слышали, что в некоторых устройствах используется какая-то диковинная A/B структура разделов . Она отличается от структуры в большинстве Android устройств.
На ней как-то странно и непривычно устанавливаются обновления, прямо при работающей системе (O_o). Внутри OTA образов другая, нечитабельная структура. Установка TWRP сопровождается какими-то, раннее не встречаемыми, сложностями, дополнительными манипуляциями и значительно отличается от всего, что «я» раньше видел. Все говорят о каких-то буквах «А», «Б», слотах, двух и системах и прочих, непонятных «мне», вещах. Что же, давайте попробуем во всем этом разобраться.

Начнем с общих вопросов:
Q: Ну и кто все это придумал? Проклятые производители простым гикам жизнь усложняют?
A: Новая структура «A/B разделов» разработана непосредственно Google-ом как часть глобальных изменений в архитектуре Android. Она успешно используется в смартфонах Google Pixel, Essential Phone и различных других устройствах. В дальнейшем все больше устройств от сторонних производителей будут ее использовать. Ничего плохого и страшного в этом нет, наоборот, открывается много новых возможностей.

Q: Так что же из себя представляет A/B структура разделов?
A: Если говорить совсем просто — внутри вашего устройства расположены сразу две (а в зависимости от реализации и больше), независимые между собой, системы. Что-то на подобии MultiROM (если слышали о таком), только с гораздо более продуманной реализацией на более низком уровне. Если интересует конкретная информация с объяснением всех аспектов — прошу продолжить чтение.

Читайте также:  Кровавая мэри для андроид

Таблица разделов на примере Google Pixel:
Дабы наглядно отобразить, изложенную выше, теорию и увидеть отличия по сравнению с другими устройствами — познакомимся с таблицей разделов Google Pixel.
Если вы вообще не знакомы со структурой разделов в Linux-подобных системах, и Android в частности, — советую поискать информацию об этом в Google, благо ее полно.

Нас интересуют конкретные разделы, существующие в двух копиях для наглядности и демонстрации.
Итак (раскрываем код полностью):

/dev/block/bootdevice/by-name/aboot_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/apdp_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/bootlocker_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/cmnlib32_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/cmnlib64_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/devcfg_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/hosd_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/hyp_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/keymaster_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/msadp_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/pmic_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/rpm_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/tz_a # Разделы первого загрузчика (Слот «a»)
/dev/block/bootdevice/by-name/xbl_a # Разделы первого загрузчика (Слот «a»)

/dev/block/bootdevice/by-name/aboot_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/apdp_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/bootlocker_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/cmnlib32_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/cmnlib64_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/devcfg_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/hosd_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/hyp_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/keymaster_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/msadp_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/pmic_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/rpm_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/tz_b # Разделы второго загрузчика (Слот «b»)
/dev/block/bootdevice/by-name/xbl_b # Разделы второго загрузчика (Слот «b»)

/dev/block/bootdevice/by-name/modem_a # Раздел первого модема/радиомодуля (Слот «a»)
/dev/block/bootdevice/by-name/modem_b # Раздел второго модема/радиомодуля (Слот «b»)

/dev/block/bootdevice/by-name/boot_a # Раздел первого ядра (Слот «a»)
/dev/block/bootdevice/by-name/boot_b # Раздел второго ядра (Слот «b»)

/dev/block/bootdevice/by-name/vendor_a # Первый проприетарный раздел (Слот «a»)
/dev/block/bootdevice/by-name/vendor_b # Второй проприетарный раздел (Слот «b»)

/dev/block/bootdevice/by-name/system_a # Первый системный раздел (Слот «a»)
/dev/block/bootdevice/by-name/system_b # Второй системный раздел (Слот «b»)

Как видно из выдержки выше, — имеются два, независимых между собой, слота, а именно «группы разделов», которые содержат в себе основные, обновляемые компоненты прошивки.

Два представленных слота состоят из:
Bootloader (загрузчик) — 28 разделов (14 на каждый слот).
Radio/Modem (радиомодуль) — 2 раздела (по одному на слот).
Boot (ядро) — 2 раздела (по одному на слот).
Vendor (драйверы) — 2 раздела (по одному на слот).
System (система) — 2 раздела (по одному на слот).

Остальные разделы, не указанные в таблице, представлены в одном экземпляре за ненадобностью их деления.
Обратите внимание раздел пользовательского хранилища (userdata) всегда один! Именно поэтому вы не можете (без очистки хранилища) одновременно использовать две абсолютно разных прошивки, будет конфликт. Возможно одновременное использование одинаковых по типу прошивок (а в некоторых случаях и это невозможно без сброса данных).

Читайте также:  Боевая фантастика для андроида

Принципиальные отличия по сравнению с другими устройствами:
С дублированием разделов и, структурой в целом, разобрались. Однако, вы могли заметить (если просматривали полную таблицу разделов) отсутствие, привычных в любом устройстве, разделов «/recovery» и «/cache». Да, их действительно нет. Но могут и встречаться в отклонениях от нормы.

Q: Стоп. Но если раздела для Recovery нет, а сам Recovery есть (Он ведь есть, правда?), где же он находится?
A: Система восстановления (Recovery) включена в состав образа ядра (boot). А потому, наличие, отсутствие и тип установленного recovery напрямую зависят от ядра системы. Переключение в него (Recovery), как и раньше, осуществляется специальным флагом в «/misc» разделе.
Именно в этом и состоит загвоздка установки TWRP — его как-то нужно «засунуть» в ядро. Потому TWRP сначала временно загружают (устанавливать то его некуда), а затем уже из TWRP, специальным скриптом, на лету распаковывается ядро и вшивается в него TWRP. Такая же схема «перепаковки ядра на лету» применяется при получении «systemless» рут-прав через SuperSU и Magisk.

Q: Хорошо, а что же тогда случилось с «/cache» разделом?
A: В привычных устройствах он необходим лишь для хранения OTA обновлений и системных логов Recovery, в данном же случае, ввиду применения новой схемы этих самых обновлений (см. ниже), раздел стал попросту «не нужОн». Вот от него и избавились.

Ручное переключение слотов:
Естественно, помимо самих слотов, должен быть способ ручного взаимодействия с ними. И он есть. Для ручного переключения текущего активного слота необходимо воспользоваться утилитой fastboot. Команды:

Так же, переключится в другой слот можно в соответствующем пункте TWRP (Reboot -> Slot A / Slot B).

Итоги и положения:
1. Между слотами как система, так и сам пользователь могут переключаться.
2. Изначально (с завода) слоты полностью идентичны между собой. Различия появляются после применения любого OTA обновления системы.
3. Слоты изолированы между собой. Состояние и целостность одного слота никак не влияет на другой. За исключением применения OTA обновлений (см. ниже).

«Seamless» система обновлений:
Итак, с разделами и слотами разобрались. Но что же там с обновлениями, наверняка их тоже коснулись изменения, ввиду описанного выше?
Да, OTA обновления на устройствах с A/B структурой кардинально отличаются от того, что мы можем видеть на других устройствах.

Итоги и положения:
1. Все OTA обновления устанавливаются в неактивный, противоположный слот. То бишь — обновляется лишь один слот.
2. Все OTA обновления устанавливаются в фоновом режиме при рабочей системе, без перезагрузки устройства.
3. Все OTA обновления устанавливаются в два этапа «Шаги»: «Шаг 1» — Загрузка обновления. «Шаг 2» — Фоновое применение обновления в неактивный, противоположный слот.
4. После установки OTA обновления, при перезагрузке устройства, оно автоматически загрузится в обновленный слот (ранее неактивный).

Android 8.0+ — трансляция обновлений:
Начиная с версии Android 8.0 возможна (но не обязательна) частичная реализация трансляции обновлений с одновременным их применением (прямая запись).
Это значит, что обновления не нуждаются в предварительной их загрузке, а применяются «на лету».

Сообщение отредактировал Displax — 08.06.20, 01:27

Источник

Оцените статью