Доброго времени суток, дорогой читатель! С момента нашей последней встречи прошло более полугода и за это время произошли некоторые новшества для тех, кто увлекается кастомизацией своих устройств под управлением Android.
Это вторая часть из цикла статей о премудростях прошивки и кастомизации. В ней мы разберем, какие стабильные проекты прошивок есть на данный момент, как выбрать и установить систему, не превратив свой девайс в кирпич и как установить необходимые компоненты Google.
Цикл статей
Содержание
Введение
В первой части мы разобрали самый сложный аспект работы по кастомизации смартона, поэтому перед дальнейшим чтением настоятельно рекомендую изучить содержание по первой ссылке из цикла статей. В противном случае, может произойти что угодно, от банальной неудачи, до полного "окирпичивания" устройства без возможности восстановления.
Выбираем прошивку
Условно прошивки от сторонних разработчиков можно разделить на 2 большие группы:
Прошивки, разработанные и поддерживаемые одиночными энтузиастами.
Прошивки, разрабатываемые командой программистов.
У обоих видов прошивок есть свои преимущества и недостатки. Рассмотрим ключевые из них.
Прошивки от энтузиастов
Главное отличие прошивок, разработанных одиночным разработчиком, это отсутствие какой-либо внятной перспективы дальнейшей поддержки. Сегодня желание заниматься есть, завтра - нет. Среди подобных самоделок много плохо оптимизированных систем, зачастую это модификации каких-то сторонних проектов. Изменения Android часто незначительны и не имеют системного характера.
Однако, встречаются и вполне жизнеспособные версии, и, порой, на какой-нибудь забытый всеми, старенький смартфон есть только самопальный порт какого-то более популярного проекта.
Такие авторские прошивки можно найти в темах вашего устройства на XDA и 4pda.
Проекты
Совсем другое дело - командные проекты. Это уже целый коллектив сторонних разработчиков ("кураторов"), которые занимаются разработкой сторонней прошивки.
Если перед одиночными разработчиками в основном стоит задача портирования какой-либо существующей прошивки на конкретное устройство, то команда может позволить себе полномасштабную разработку нового функционала, перенося его на гораздо больший спектр устройств.
Самые яркие представители данного типа прошивок у всех на слуху:
Pixel Experience
EvolutionX
crDroid
Paranoid
AOSP (чистый Android)
LineageOS (бывший CyanogenOS)
ArrowOS
RessurectionRemix
и другие
Однозначные плюсы таких проектов - долгосрочная поддержка прошивок, более высокое качество прошивок в целом, оперативное устранение багов, наличие полезного функционала и тематических сообществ.
В общем, одни преимущества, поэтому я однозначно рекомендую в первую очередь ставить именно такие прошивки.
Выделяющиеся представители
Pixel Experience
На самом деле, большая часть отличий между перечисленными выше проектами скрывается "под капотом", однако, есть и сильно выделяющиеся системы, вроде Pixel Experience.
Как нетрудно догадаться, авторы стремились предоставить пользователям смартфонов ощущение от "пилотирования" устройств Pixel. И у них неплохо получилось! На моем устройстве Pixel Experience - единственный способ попробовать Android 13 с его новой системой разрешений раньше других.
Правда, достигается это ценой накачивания прошивки сервисами Google до отказа, что нельзя отнести к плюсам. Тем не менее, на 4pda это самая популярная прошивка.
crDroid
Эта сборка базируется на LineageOS, но это можно заметить только по системным приложениям. Сбалансированная прошивка, хороший баланс между оптимизацией и возможностями кастомизации. В меню настроек присутсвует отдельная вкладка, которая помогает гибко менять множество настроек, для изменения которых раньше требовались сторонние инструменты.
Отдельно хочу отметить возможность включить альтернативный вид уведомлений, который действительно менее агрессивен и адаптируется к цветой палитре приложения. Имеется шифрование data.
Для меня всю эту идилию испортил неработающий механизм обновлений - на моем устройстве он ломал систему, приходилось ставить каждую версию начисто, повторяя процедуру настройки устройства с нуля.
Не факт, что на других устройствах проблема присутствует.
LineageOS
Проект с большой историей, вдаваться в которую - не тема этой статьи.
Базируется на чистом Android с небольшим добавлением своего функционала. В комплекте чаще всего идет recovery от разработчиков, однако по личному опыту могу сказать, что это скорее опция, чем необходимость. Является основой для некоторых других сборок.
ArrowOS
На мой взгляд, лучшая версия прошивки из представленных. Как заявляют основатели проекта:
ArrowOS is an AOSP based project started with the aim of keeping things simple, clean and neat. We added just the right and mostly used stuff that will be actually USEFUL at the end of the day, aiming to deliver smooth performance with better battery life.
И у них чертовски хорошо получается! Никакого собственного функционала сборка не добавляет, однако уровень оптимизации весьма впечатляет. Ключевой особенностью считаю регулярные обновления, которые без проблем устанавливаются в автоматическом режиме.
Скачивание и установка прошивки
После того, как вы выбрали приглянувшуюся вам прошивку, необходимо ее скачать. Почти всегда это один zip-архив. (в древности иногда приходилось каждый раздел шить отдельно).
Предполагается, что вы прочли первую статью и на данный момент у вас установлен кастомный recovery и отформатирован раздел data и сделаны бэкапы важных данных.
Если вы занимаетесь перепрошивкой своего аппарата, я настоятельно рекомендую иметь в телефоне вместительную и быструю SD-карту, для хранения бекапов и файлов прошивок. Но такая возможность есть не у всех, поэтому рассмотрим вариант установки прошивки с картой памяти в телефоне и без нее.
Обратите внимание: некоторые recovery, вроде CWM не имеют возможности установки прошивки из памяти устройства.
Установка с карты памяти
Самый простой вариант.
Первым делом необходимо закинуть архив с прошивкой на карту памяти телефона, обычно это не вызывает трудностей.
Далее обязательно отформатировать все разделы телефона, за исключением MicroSD, чтобы от старой системы ничего не осталось, после чего установить архив спрошивкой.
В каждом recovery этот процесс выглядит по-разному, но интуитивно понятен.
После окончания процесса установки настоятельно рекомендую еще раз отформатировать раздел Data. На этом всё, перезагружаемся в систему, пользуемся.
Установка без карты памяти
Этот способ чуть сложнее.
Для него нам понадобится компьютер с ADB.
Закидываем архив с прошивкой в папку с adb.exe, называем как-нибудь попроще (я обычно называю update.zip).
На телефоне также необходимо отформатировать все разделы, кроме MicroSD и data, а также включить режим sideload.
В TWRP-based рекавери это делается в разделе Advanced - ADB Sideload.
В CWM присутствует пункт Apply update from ADB.
Эти режимы включают sideload, который ждет, пока на него придет команда установить файл. Подключаем телефон с включенным sideload к компьютеру с помощью USB и пишем в терминале ADB команду
adb sideload update.zip
Где update.zip - название архива с прошивкой.
Начнется точно такой же процесс установки, по окончании которого ваше устройство перезагрузится.
В этом случае, возможен Bootloop. Не пугайтесь, просто зайдите в recovery и снова отформатируйте раздел Data. В большинстве случаев, проблема в шифровании этого раздела.
Я что-то нажал и оно сломалось. Возможные проблемы
Абсолютно не исключено, что что-то пойдёт не так. Хочу вас успокоить - если у вас была возможность разблокировать загрузчик, значит у вас в любом случае будет возможность восстановить родную систему.
Рассмотрим распространенные ситуации которые могут возникнуть из-за неправильного порядка действий/спешки/невнимательности/фазы луны.
Bootloop или вечная загрузка
Первое по популярности состояние смартфона после перепрошивки. BootLoop (циклическая загрузка, дословно), возникает вообще в любых ситуациях, когда система не может нормально запуститься. Выглядит как... Циклическая перезагрузка.
Причин этому может быть множество. Например, на дешевых аппаратах я чаще всего встречал такую проблему из-за аппаратной неисправности памяти. В некоторых случаях это результат манипуляций с системными файлами, вроде Magisk (об этом чуде в следующей статье). Применительно же к нашей ситуации наиболее вероятны два варианта:
Прошивка изначально мертва (чаще всего авторские) или не для вашей модели телефона.
Система не может расшифровать раздел Data.
С первым случаем всё ясно, стоит либо проверить совместимость прошивки с вашим аппаратом, либо скачать ту, у которой есть положительные отзывы от пользователей.
На втором случае стоит остановиться подробнее.
С некоторой (уж и не припомню с какой) версии Android в системе по умолчанию включено шифрование данных (раздел Data). И расшифровать его сможет только та система, которая его и зашифровала. Именно поэтому я рекомендую форматировать этот раздел ДО и ПОСЛЕ прошивки, перед первым запуском, поскольку я сталкивался с ситуациями, когда в процессе прошивки раздел Data шифровался и система не могла запуститься.
Обратите внимание, что при первом запуске система загружается немного дольше (в пределах разумного), чем обычно.
Решение простое: форматировать раздел Data через recovery, если не помогло - смотри пункт 1.
System Destroyed
Или похожие страшные надписи с не менее страшными красными значками восклицания/biohazard/nuclear danger.
По сути причины всё те же самые, разница лишь в том, что тут система сама в состоянии сообщить, что она не может запуститься.
Чаще всего связана эта ошибка с несовместимостью/битостью файла прошивки.
Решение - другая прошивка.
Устройство-специфичные проблемы
Так я обозвал проблемы, которые возникают на отдельных устройствах при определенных обстоятельствах.
Например, на моём Xiaomi в один прекрасный момент перестали работать вообще все датчики. С помощью Google я нашел необходимую информацию и файлы и перепрошил раздел persist.
Решение таких проблем необходимо искать на тематических форумах с темами вашего устройства, желательно до того, как они произойдут.
Если ничего не помогает
Если вы достаточно удачливы для того, чтобы ни один из способов решения проблем вам не помог, найдите информацию о том, как с помощью утилиты производителя прошить родную систему. Чаще всего эта информация находится ряд с той, которая научила вас разблокировать загрузчик и зачастую это делается с помощью одной и той же утилиты.
Установка сервисов Google
Лично для меня первой причиной смены прошивки стала непомерная прожорливость родной китайской MIUI, напичканной всяким китайским хламом, который в России бесполезен, а батарею кушает. Да и производительность не радовала глаз.
В падении производительности и продолжительности жизни батареи часто становятся виновны сервисы Google, которые имеют статус системных приложений и родная оболочка никак не может повлиять на их энергопотребление.
Однако, я очень быстро понял, что на "голом" Android жизни тоже не будет - почти все приложения тянут лицензию с помощью Google сервисов, загружают карты, местоположение, синхронизируют контакты, получают уведомления с помощью них же.
Для решения этой проблемы существуют различные "дизайнерские" пакеты GApps, которые представляют собой разные комбинации приложений Google, в зависимости от ваших потребностей.
С вашего позволения, не буду разбирать подробно эту тему, скажу лишь что во времена мамонтов (4.0) для этого был хорош OpenGapps, сейчас мне известен только один актуальный ресурс - NikGapps. На сайте проекта подробно описаны пакеты приложений и что они в себя включают, но поделюсь маленькой хитростью.
На официальном сайте NikGapps есть ссылки на sourceforge репозиторий, где можно найти отдельные приложения от Google (Addons).
Например, мне для полноценной жизни не нужно от гугла практически ничего, кроме собственно его ядра и Ассистента, уж больно мы с ним сблизились.
Поэтому, если вы хотите чистую систему с минимальным присутствием большого брата, будет разумно поставить пакет core, который включает в себя ядро сервисов и аддон Google Search (velvet), который включает в себя приложение Google и Ассистент.
Для первого запуска я также ставлю Device Setup для восстановления настроек с прошлого устройства.
Эти сервисы выглядят абсолютно так же как и прошивки - это архивы, которые прошиваются через recovery. Рекомендую делать это сразу же после установки системы, не включая телефон.
Альтернатива GApps
MircoG
Есть ли жизнь без GApps и постоянного надзора за действиями пользователя? Этим вопросом задавались, похоже, многие люди, поскольку существует такой проект как MicroG. Его цель - заменить закрытые гугловские сервисы открытыми.
На мой субъективный взгляд - проект скорее мертв, чем жив. Многие функции не работают или работают через раз, энергоэффективность так же остается под вопросом. И хотя мне удавалось настроить их на приемлемый уровень, я не стал бы рекомендовать их к использованию.
Huawei Services
Наверняка многие знают, что у Китая с США довольно напряженные отношения и, как следствие, с некоторых пор Америка запретила Китаю доступ к сервисам Google. Но наши предприимчивые соседи не расстроились и соорудили что-то вроде аналогичной экосистемы.
Не скажу, что оно очень уж плохо - российское приложение Mir Pay имеет возможность авторизации через Huawei Services. В остальном же те же яйца, только в профиль.
Заключение
После проделанных операций необходимо запустить смартфон, произвести первичную настройку, вход в аккаунт Google, обновление всех возможных приложений и необходимую кастомизацию.
В этой статье мы узнали, как же вообще выглядит процесс установки прошивки и научились ставить только необходимые компоненты.
В следующей статье я разберу, что такое Root-права, как их получить и как заставить банковские приложения закрывать глаза на всё это безобразие.
Спасибо за прочтение, жду вашу конструктивную критику и пожелания!
Javian
Для дешевых телефонов как раз значительны. Одна только вычистка от встроенных "вирусов" - причина прошиваться на альтернативу заводской. А вот для брендов типа Samsung надо в каждом случае смотреть что найдешь и что потеряешь.