Что такое кастомная прошивка на андроид
Перейти к содержимому

Что такое кастомная прошивка на андроид

  • автор:

Что такое кастомная прошивка?

Пользователи смартфонов и планшетов на базе операционной системы Android, которые только недавно присоединились к пользователям данной ОС, часто спрашивают, что такое кастомная прошивка. Ответ прост.

Официальную прошивку от разработчика, которая уже установлена на устройстве, купленном в магазине, принято называть стоковой. Кастомной же именуют модифицированную, то есть измененную прошивку, работу над которой обычно ведет один или несколько пользователей. Зачем нужны кастомные прошивки, если существуют стоковые, спросите вы? Чтобы ответить на этот вопрос, мы покажем вам основные преимущества такого рода прошивок.

  • В первую очередь это дополнительные функции, которые вы не найдете в официальной прошивке.
  • Отсутствие различных приложений, которые встроены в стоковую прошивку. Причем просто так их удалить не получится, поскольку производитель блокирует удаление “своих” приложений. Для этого понадобятся рут-права.
  • Отсутствие некоторых функций, которые не нужны пользователям.
  • Возможности настройки операционной системы, которые отсутствуют в оригинальной прошивке.
  • Часто увеличенная скорость работы, а иногда и более долгое время автономной работы устройства.
  • Зачастую рут-права уже встроены в кастомную прошивку.

Вместе с тем, у таких прошивок есть минусы.

  • Во-первых, все действия по установке прошивки вы совершаете на свой страх и риск. Это значит, что если что-то пойдет не так и устройство превратится в “кирпич”, случай не будет признан гарантийным.
  • Во-вторых, кастомная прошивка может работать с багами и глюками.
  • В-третьих, наличие рут-прав снимает устройство с гарантии.

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

Вот вам пример стоковой и модифицированной прошивки. На этой картинке – стоковая прошивка TouchWiz на Samsung Galaxy S3:

А здесь – Cyanogenmod на том же смартфоне:

Кстати, в свое время Cyanogenmod проектировала группа энтузиастов, а сегодня это целая компания, которая сотрудничает с различными производителями смартфонов и планшетов.

  • Оставить комментарий к статье.
  • Подписаться на наш канал на YouTube.
  • Подписаться на наш канал в Телеграме.
  • Подписаться на нашу группу ВКонтакте.
  • Подписаться на наш канал в Дзене.

Другие интересные статьи:

  • Что такое MIUI в смартфонах Xiaomi?
  • Android One: что это такое?
  • Что такое рекавери меню на Андроид?
  • Что такое Wipe data/factory reset и Wipe cache partition?
  • На что влияет количество ядер в смартфоне?
  • Что такое облако в телефоне и как им пользоваться?
  • Акселерометр в телефоне: что это такое?

Кастомные прошивки для Android больше никому не нужны?

В том, что касается политики обновления программного обеспечения, предлагаемой производителями смартфонов, сейчас складывается довольно четкая картина. Samsung как-то сама собой взяла на себя эту роль и тянет индустрию за собой. Я не пытаюсь ее лишний похвалить, но именно эта компания часто поддерживает свои устройства дольше, чем даже Google свои. Долгое время единственным способом продлить жизнь телефону являлась установка кастомной прошивки, которые в изобилии были на просторах Сети. Может ли текущее положение дел быть началом конца для разработчиков этих кастомов или, наоборот, это должно помочь им в их нелегком деле? Ответ не может быть однозначным, поэтому тут надо немного порассуждать.

Кастомные прошивки для Android больше никому не нужны? Кастомные прошивки популярны в узких кругах, но не все умеют ими пользоваться. Фото.

Кастомные прошивки популярны в узких кругах, но не все умеют ими пользоваться.

Кто пользуется кастомными прошивками

Многие сталкивались с сообществами моддеров, которые активно занимались подобными вещами. У нас в редакции тоже была пара человек, которые постоянно что-то ”накатывали” на свои смартфоны и на следующий день, активно жестикулируя, рассказывали нам как, это круто.

В мире возникло несколько Android-сообществ, сосредоточенных на не самых новых устройствах. Их основной задачей является создание прошивок для старых устройств, чтобы они чувствовали себя почти (это важное слово) как новые.

Если коротко и не вдаваясь в подробности, то кастомные прошивки — это автономные версии Android, которые можно установить на устройства. Этот процесс обычно включает разблокировку загрузчика и установку новой операционной системы. Среди самых известных примеров — CyanogenMod или даже сама MIUI, которая изначально была именно сторонней прошивкой. Только через некоторые время ее существования компания Xiaomi выпустила первый смартфон и начала свой большой путь.

Кто пользуется кастомными прошивками. Кастомная прошивка позволяет поменять в смартфоне очень многое. Фото.

Кастомная прошивка позволяет поменять в смартфоне очень многое.

Опасно ли устанавливать кастомные прошивки

Естественно, говорить о лояльности производителей к таким экспериментам не приходится. Многие пользователи даже лишались гарантии из-за такой кастомизации. Как минимум это нарушает условия предоставления гарантии, и поэтому действия производителей смартфонов нельзя критиковать.

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

Многие спорят с тем, что эпоха кастомных прошивок вообще существовала. В качестве аргумента они обоснованно приводят невозможность такой установки простым пользователем. Действительно, сделать это без хотя бы минимальной подготовки и углубления в процесс было просто невозможно. Поэтому кастомы оставались уделом гиков, которые хотели и могли перепрошить свой смартфон.

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

Как долго обновляется Android

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

Как долго обновляется Android. Если вы хотите сделать смартфон не таким, как у всех, кастомные прошивки для вас. Фото.

Если вы хотите сделать смартфон не таким, как у всех, кастомные прошивки для вас.

Не поймите меня неправильно, я не говорю, что кастомные версии ОС мертвы. Всегда будет место для нестандартных решений, которые привлекут внимание того, кто не хочет мириться с тем, что ему предлагают в базовой версии смартфона.

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

Самым известным ”именем” в этом направлении была Cyanogen Inc., основанная в 2013 году. Но потом она допустила ряд фатальных ошибок, и даже несмотря (а может быть ”из-за”) вливания денег Microsoft и других инвесторов, в 2016 году последовало заявление о прекращении деятельности.

Как долго обновляется Android. Про Cianogen слышали многие, но не многие пользовались этим. Фото.

Про Cianogen слышали многие, но не многие пользовались этим.

Идеалы проекта продолжают существовать в форме его прямого преемника — LineageOS с аналогичной инфраструктурой разработки и общей философией. Однако то значение, которое уделялось каждой новой версии и смартфону, поддерживаемому CyanogenMod, похоже, не повторяется с LineageOS, несмотря на то, что система по-прежнему предлагает преимущества обновлений Android, производительности и многого другого.

На данный момент кастомные прошивки иногда доходят до того, что смартфоны вышедшие на Android 5.1, получают Android 9 и готовятся к дальнейшим обновлениям. Пускай Apple и предлагает больший срок обновления iOS, но для Android это действительно уровень, и достигнуть его было непросто. Примером таких смартфонов может служить Fairphone 2, вышедший в 2015 году со Snapdragon 801 на борту.

Нужны ли кому-то кастомные прошивки

А теперь отвечу на главный вопрос, который я поднял в самом начале. Я считаю, что рано списывать кастомные прошивки со счетов. Несмотря на все сказанное выше и на 4 года получения официальных обновлений, есть ряд причин продолжать разрабатывать кастомы.

Во-первых, не все смартфоны получат такой большой период обновлений. Во-вторых, изменения в кастомных прошивках будут заставлять разбирающихся пользователей снова и снова пробовать что-то новое. При этом каждый раз переживая за свой смартфон, который может ”окирпичиться” в случае, если он выберет не ту региональную версию или нажмет не ту кнопку в процессе обновления.

Дело в том, что это явление сейчас находится на уровне, который можно было наблюдать 10-12 лет назад. То есть это не стало массовым явлением. И я не знаю, что должно произойти, чтобы ситуация поменялась. Не будет такого, чтобы новичок купил смартфон, посмотрел на преимущества кастома, нажал одну кнопку и получил все преимущества нестандартного решения.

Нужны ли кому-то кастомные прошивки. Проще всего пользоваться прошивкой от производителей, но тогда все будет, как у всех. Фото.

Проще всего пользоваться прошивкой от производителей, но тогда все будет, как у всех.

Зато вместо этого мы получили более частые обновления версий ПО от производителя и обновления безопасности, которые приходят независимо от номерных версий Android. Возможно, крупные компании к этому подтолкнула именно активность сообществ, которые делали кастомные прошивки.

В конце приведу только еще один пример того, что работа в этом направлении будет вестись и дальше. Для того, чтобы понять, о чем я говорю, достаточно посмотреть на такие смартфоны, как LG, которые в целом не так плохи, но у их создателя слишком сложное будущее, чтобы быть уверенным в разработке новинок в области ПО. А значит, как минимум пользователи LG будут готовы на эксперименты.

А вы что думаете по этому вопросу? Готовы ли вы ставить кастомные прошивки и делали ли когда-то это со своим смартфоном? Если да, то какие после этого были ощущения?

Оставить комментарий в Telegram. Поделитесь мнением в чате читателей Androidinsider.ru

Теги

  • Операционная система Android
  • Прошивки

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

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

Начнем с того, что тебе нужен Linux. В Windows ты сможешь только разобрать прошивку, но собрать обратно уже не получится по чисто техническим причинам. Теперь о прошивке. Обычно они распространяются в виде ZIP-архивов, прошиваемых через кастомные рекавери. Именно один из них нам и понадобится для опытов. Начинать путь ромодела я рекомендую с какой-нибудь максимально приближенной к AOSP кастомной прошивки, потому что в ней зачастую проще разобраться, чем в стоке.

Нужный ZIP можно найти на XDA Developers или 4PDA. Но имей в виду, что нужна прошивка конкретно для твоей модели аппарата, — у того же Galaxy S7 есть несколько модификаций для разных рынков, не всегда совместимых между собой.

Структура ZIP-файла с прошивкой

После загрузки распакуем архив с помощью любого архиватора. Внутри будет следующий набор файлов и папок:

Содержимое ZIP-файла прошивки LineageOS для Nexus 5

  • META-INF — папка с метаинформацией о прошивке (сертификат автора, манифест со списком файлов, их контрольными суммами), скриптом обновления (updater-script) и инсталлятором (update-binary), который выполняет команды скрипта по монтированию разделов, копированию файлов и другим действиям с NAND-памятью;
  • boot.img — образ с ядром и RAM-диском (он прошивается в раздел boot);
  • system.new.dat — это, грубо говоря, и есть сама прошивка, а точнее образ раздела system, содержащий операционную систему Android за вычетом ядра;
  • system.transfer.list — содержит список команд, которые необходимо выполнить, чтобы поблочно скопировать содержимое system.new.dat в раздел system при установке прошивки;
  • system.patch.dat — используется для OTA-обновлений, то есть выборочного внесения изменений в прошивку; если прошивка «полная», он имеет нулевой размер.

Рекомендуем почитать:

Xakep #297. Язык самолетов

  • Содержание выпуска
  • Подписка на «Хакер» -60%

Распаковываем system.new.dat

Файлы system.new.dat и system.transfer.list представляют для нас наибольший интерес. Точнее, не они, а содержащаяся в них система. Но добраться до нее не так просто.

Скрипт

Самые ленивые могут разобрать прошивку с помощью скрипта System_Extractor-Linux.

Скрипт для распаковки system.new.dat в Linux

  1. Распаковываем архив с прошивкой в любую папку.
  2. Качаем скрипт по ссылке и разархивируем в любую папку.
  3. Запускаем файл ext (если будет ругаться на отсутствие Java, просто пропусти, нажав y ; Java нужна только для запаковки).
  4. Теперь выбираем распаковку, нажав кнопку 1, а затем Enter.
  5. Новая папка с именем extract_* появится рядом с файлом ext и папкой tools . Копируем в нее файлы system.new.dat и system.transfer.list .
  6. После копирования файлов нажимаем Enter и ждем. Через некоторое время нужно будет опять нажать Enter, ввести пароль администратора и еще раз тапнуть Enter.
  7. Готово. Содержимое system в папке extract_*/output .

Ручной способ

Распаковываем архив с прошивкой в любую папку (например, в rom ):

$ mkdir ~/rom $ unzip путь_до_архива -d ~/rom/

Скачиваем нужные нам инструменты в эту папку:

$ cd ~/rom $ wget https://github.com/xpirt/sdat2img/raw/master/sdat2img.py
$ chmod +x sdat2img.py $ ./sdat2img.py system.transfer.list system.new.dat system.img

Он преобразует файл system.new.dat в raw-образ с именем system.img . Монтируем образ к подпапке mnt :

$ mkdir mnt $ sudo mount -t ext4 -o loop system.img ~/rom/mnt

Содержимое образа system

Структура каталогов Android

После распаковки system появится следующая каталоговая структура:

  • app — предустановленные приложения со стандартными привилегиями;
  • priv-app — предустановленные приложения с повышенными привилегиями, в том числе некоторые компоненты системы;
  • bin — бинарные файлы формата ELF, аналог каталогов /bin и /usr/bin в Linux. Содержит различные системные компоненты, используемые более высокоуровневыми компонентами системы;
  • etc — файлы настроек. Полный аналог /etc в Linux, используемый, однако, только теми самыми системными компонентами. Приложения Android хранят индивидуальные настройки в каталогах /data/data/ ;
  • fonts — шрифты. По умолчанию содержит только фирменные шрифты Roboto;
  • framework — библиотеки Java-классов, используемых системой и приложениями. Тут же лежит файл framework-res.apk , содержащий полное описание интерфейса операционной системы, включая все графические файлы;
  • lib и lib64 — Linux-библиотеки, используемые низкоуровневыми компонентами системы. Аналог каталогов /lib и /usr/lib в Linux, включая такие стандартные библиотеки, как libc, libz, libssl. На устройствах с архитектурой ARMv7 и ниже каталог lib64 будет отсутствовать;
  • media — медиафайлы: рингтоны, звуки уведомлений, звуки интерфейса и анимация загрузки ОС;
  • tts — файлы, необходимые синтезатору речи;
  • usr — каталог, который обычно содержит файлы, необходимые для работы приложений из каталога bin. По сути, аналог /usr/share ;
  • vendor — файлы, поставляемые производителем устройства. Обычно содержит бинарный firmware для различных железных компонентов, например модуля Wi-Fi;
  • xbin — необязательный каталог; кастомные прошивки используют его для хранения таких вещей, как интерпретатор bash, SSH, PowerTOP, BusyBox, и других полезных инструментов;
  • build.prop — файл, содержащий информацию о сборке, а также различные низкоуровневые настройки;
  • addon.d — содержит скрипты, запускаемые после установки прошивки. Сюда же GApps прописывают свой скрипт, благодаря которому возрождаются после переустановки прошивки.

Ознакомившись с базовой структурой Android, начнем вносить изменения.

Удаляем и добавляем приложения

Все предустановленные программы можно найти в двух папках:

  • /system/app/;
  • /system/priv-app/.

Друг от друга они отличаются привилегиями доступа. Если программы из app имеют такие же полномочия, как сторонние программы (например, установленные из Play Store), то приложения из priv-app могут использовать привилегированные API (права privileged). Подробнее об этом можно узнать из нашей статьи.

Для предустановки приложения в прошивку просто кинь ее APK-файл в /system/app/ . Можно, конечно, создать отдельную папку, но в нашем случае в этом нет смысла, потому что папка служит для хранения библиотек и odex-файлов, которых у нас попросту нет. Для удаления просто удали папку с ним.

Можно пойти дальше и поменять стоковые приложения на аналоги. К примеру, для замены календаря удаляем папку Calendar и копируем в /system/app наш любимый com.rpagyc.simplecalendar.apk . А можно и не копировать. Тогда прошивка будет без календаря.

Главное, помни: стоковые программы могут быть связаны между собой. Поэтому удаление одной проги вполне может привести к полной неработоспособности другой (к примеру, CalendarProvider и Calendar: удалив первый, ты сделаешь неработоспособным не только стоковый, но и любой другой календарь). К счастью, в чистых AOSP-прошивках взаимосвязей не так много.

Меняем анимацию загрузки

Анимация хранится в виде PNG-картинок, упакованных в архив /system/media/bootanimation.zip без сжатия. Внутри архива находятся:

  • desc.txt — файл, описывающий анимацию;
  • part0 — папка с файлами анимаций, которые воспроизводятся первыми;
  • part1 — папка с файлами анимаций, которые воспроизводятся вторыми;
  • .
  • part? — крайняя папка, изображения с которой воспроизводятся в конце.

Файл desc.txt может содержать нечто вроде

1920 1080 60 p 1 0 part0 p 0 0 part1

Назначение этих строк интуитивно понятно: 1920 × 1080 — разрешение картинки, 60 — число кадров в секунду. Part0 и part1 указывают на папки, из которых будет воспроизводиться анимация, и последовательность воспроизведения. Вообще, может быть как одна часть, так и несколько (три и больше).

Изображения, находящиеся в папках part, пронумерованы пятью цифрами в порядке воспроизведения: 00000.png , 00001.png , 00002.png . Эти изображения можно поменять на свои, тем самым создав оригинальную анимацию. А можно просто удалить файл bootanimation.zip . Тогда девайс будет показывать анимацию из стандартного Android. Или воспользоваться уже готовой коллекцией анимаций на 4PDA.

Четыре части в bootanimation.zip для LineageOS

Изменяем звуковое оформление

Фактически все звуки, которые воспроизводит система, хранятся в папке /system/media/audio . Внутри нее ты найдешь следующие папки:

  • alarms — мелодии будильника;
  • notifications — звуки уведомлений;
  • ringtones — мелодии звонка;
  • ui — системные звуки, например низкий заряд батареи, фокусировка камеры, выбор элементов интерфейса.

В alarms, notifications, ringtones можно накидать сколько угодно любых мелодий. Взять их можно, например, здесь:

  • стандартные мелодии из разных телефонов и смартфонов Nokia;
  • знаменитые стандартные рингтоны;
  • просто множество рингтонов;
  • мелодии с разных телефонов.

И маленький лайфхак: удаление файлов из папки ui приведет не к сбоям и ошибкам, а к исчезновению системных звуков. Поэтому ты можешь легко отключить звук создания снимка с камеры, снятия скриншота, просто потерев содержащие эти звуки файлы (их имена интуитивно понятны).

Добавляем шрифты

Шрифты хранятся в fonts . Найти архивы с файлами шрифтов можно на 4PDA и XDA. Для установки достаточно скопировать с заменой ttf-файлы из архива в папку fonts .

Меняем системные настройки (build.prop)

В образе system есть интересный файлик build.prop , содержащий множество полезной информации о железе устройства и настройках, устанавливаемых по умолчанию, для различных стоковых приложений. Справедливости ради замечу, что это не всегда так. Например, в Gigaset ME и ME Pro build.prop разделен на две части. В одной части содержатся настройки для Gigaset ME, а для ME Pro некоторые строки продублированы, но ключи (название смартфона и так далее) в них другие. Это было сделано, чтобы обеспечить более-менее корректную работоспособность одной и той же прошивки на разных аппаратах.

Дополнительный файл для Gigaset ME и ME Pro

Build.prop содержит (или может содержать) огромное количество настроек. Некоторые из них ничего не меняют, некоторые улучшают одно за счет ухудшения другого, но есть те, которые действительно полезны:

  • ro.product.model и ro.product.manufacturer — модель смартфона и имя производителя. С помощью замены этих строк можно заставить Play Store думать, будто у тебя другой смартфон, что откроет доступ к большему количеству софта. Для всяких малоизвестных китайских смартфонов эти строчки могут стать спасительными;
  • hw.qemu.mainkeys — принимает только два значения: 0 — показать наэкранные клавиши навигации, 1 — не показывать кнопки. Отсутствие строки соответствует 0;
  • debug.sf.nobootanimation — значение 1 отключает анимацию загрузки, что немного поднимает ее скорость. Установка 0 или удаление строки возвращает анимацию на место;
  • ro.telephony.default_network — говорит системе, в какой режим должна быть переключена мобильная сеть при загрузке;
  • ro.sf.lcd_density — DPI дисплея, наиболее точное значение для дисплея можно посчитать через удобный сайт. Но никто не запрещает поставить и большее или меньшее значение по своему вкусу: более высокие значения делают элементы интерфейса крупнее, низкие — меньше;
  • ro.config.vc_call_vol_steps — количество шагов громкости во время разговора (по умолчанию 8);
  • ro.config.media_vol_steps — количество шагов громкости мультимедиа (по умолчанию 15).

Внедряем в прошивку Google Apps

Почти всегда кастомные прошивки поставляются без сервисов Google и магазина приложений. Разработчики предлагают нам установить их отдельно с помощью пакета GApps. Однако его можно интегрировать прямо в прошивку.

Для начала необходимо скачать пакет GApps. Я рекомендую брать архивы Open GApps. Выбираешь версию Android, архитектуру процессора и вариант комплектации (Pico, Nano, Stock. ), который определяет, сколько различных приложений Google содержит архив. Я рекомендую скачать версию Pico. Она содержит только Play Store и набор необходимых для его работы библиотек.

Интеграция GApps в прошивку выполняется так:

Структура каталогов configupdater-all.tar.lz

  1. Распаковываем ZIP-архив GApps с помощью любого архиватора.
  2. Переходим в папку Core.
  3. Видим множество архивов с расширением .tar.lz . Извлекаем с помощью lzip.
  4. После распаковки копируем файлы из папок в соответствующие папки в system. Что куда кидать, нетрудно догадаться по структуре каталогов в архиве. Например, configupdater (со скриншота) нужно кидать в папку priv-app .
  5. Переходим в папку GApps (находится рядом с Core) и проделываем пункты 3 и 4 для файлов в ней.
  6. Все, мы интегрировали GApps в нашу прошивку!

Свободное место

Необходимо понимать, что место для установки прошивок ограниченно. Нельзя установить прошивку, размер которой перевешивает размер раздела system устройства. Посмотреть его значение можно, используя ADB:

$ adb shell df /system

Инфа о разделе system

Второй вариант: поставить на устройство терминал и набрать команду

$ df /system

Размер раздела в байтах можно узнать, установив на смартфон BusyBox и выполнив в терминале команду

$ busybox df -B 1 /system

Или то же самое с помощью ADB:

$ adb shell busybox df -B 1 /system

Место, занимаемое прошивкой, будет приблизительно равно размеру system в распакованном виде. Вообще, при создании прошивки необходимо учитывать, что юзер также может прошить поверх нее различные модификации (SuperSU, Xposed) или перенести приложения в раздел system. Например, минимальный пакет приложений Google (Pico) требует минимум 150 Мбайт дополнительного пространства для установки.

При необходимости размер файла прошивки можно уменьшить, удалив не только ненужные программы из /system/app ( /system/priv-app ) и звуки вызова из system/media/audio и bootanimation.zip , но и:

  • /system/tts/lang_pico — языки примитивного голосового движка Pico TTS, голосовой движок Google это не затронет;
  • /system/usr/srec/config/ — офлайн-языки. Можно будет скачать потом онлайн, если понадобится.

Сборка

После внесения изменений нужно собрать все обратно. Сначала запакуем раздел system в system.new.dat . Скачиваем нужные нам инструменты:

$ wget https://github.com/xpirt/img2sdat/raw/master/img2sdat.py $ wget https://github.com/xpirt/img2sdat/raw/master/blockimgdiff.py $ wget https://github.com/xpirt/img2sdat/raw/master/common.py $ wget https://github.com/xpirt/img2sdat/raw/master/rangelib.py $ wget https://github.com/xpirt/img2sdat/raw/master/sparse_img.py $ sudo apt-get install android-tools-fsutils

Преобразовываем нашу папку обратно в RAW-образ. Назовем его system_new.img :

$ sudo make_ext4fs -T 0 -S file_contexts -l 1073741824 -a system system_new.img output/

1073741824 меняем на размер раздела system в байтах. Желательно даже сделать его чуть меньше. Делаем из RAW-образа sparse-образ:

$ img2simg system_new.img system_snew.img

Преобразуем наш образ в system.transfer.list и system.new.dat , которые и нужно кидать в архив с прошивкой, но сначала удалим старые файлы:

$ rm -rf system.transfer.list $ rm -rf system.new.dat $ rm -rf system.patch.dat $ chmod +x img2sdat.py $ ./img2sdat.py system_snew.img

Отделим файлы прошивки от лишней шелухи (файлов, которые мы загружали для работы. Для этого удобно пользоваться архивом с прошивкой). Удалили? Теперь нужно запаковать прошивку в ZIP-архив (любым архиватором).

Осталось подписать архив. Сделать это можно как на самом Android с помощью ZipSigner, так и на ПК (потребуется установленная Java):

$ wget https://github.com/appium/sign/raw/master/dist/sign.jar $ java -jar файл.zip

Подводные камни

Во время сборки system.new.dat ты можешь столкнуться с несколькими проблемами, вызванными постоянными изменениями в механизмах формирования прошивок Android. Описанный выше способ должен хорошо сработать в случае основанной на Android 5.1 прошивки, в более новых могут возникнуть сложности, так что потребуется использовать другие версии инструментов сборки. К сожалению, мы не можем описать все нюансы сборки, поэтому, возможно, придется погуглить.

Установка

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

TWRP

Выводы

Эта статья описывает лишь верхушку огромного айсберга под названием «модификация прошивок». «Серьезные» прошивки не только дополняют ядро и саму прошивку со стоковыми приложениями множеством функций (которые зачастую вырваны из других ядер и прошивок), организовывая или даже меняя принципы их взаимодействия, но и вполне могут кардинально менять принципы работы ОС. Правда, такая поделка — это уже не Android, а отдельная ОС, даже если Play-сервисы получится туда поставить (кстати, такие действия, мягко говоря, не поощряются Google). Ну и не забываем: все оболочки от производителей — TouchWiz, ZenUI, HTC Sense и так далее — всего лишь обычные кастомы, максимально привязанные к железу устройства и друг к другу.

Что такое кастомная прошивка андроид и как установить прошивку?

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

Разбираемся в кастомной прошивке на андроиде

Кастомная прошивка для Андроид планшетов – это прошивка, которая была разработана не официальным производителем, а группой свободных разработчиков. При этом они могут включить в уже существующую прошивку дополнительные функции, или же создать принципиально новый ее вариант.

Главные преимущества авторского перепрограммирования устройства:

  • Наличие дополнительных функций и программ, которых в оригинальном варианте операционной системы нет;
  • Удалены излишние функции, перегружающие устройство;
  • Отсутствует избыточное программное обеспечение, в котором пользователь не нуждается;
  • Позволяет более тонко настроить мобильную платформу;
  • Устранены ошибки разработчиков официальной версии;
  • Приятный и удобный интерфейс.

программное обеспечение android-sdk

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

Как известно, программный код ОС Android является открытым, в связи с чем на рынке образовалось огромное количество их модификаций, созданных сторонними разработчиками.

Чаще всего их пишут специально для тех или иных устройств. Второй способ авторского кодинга позволяет создать кастомную прошивку на основе «чистой» платформы андроид.

Внимание! Все действия, связанные с установкой и созданием собственных модифицированных файлов системы вы производите на свой риск. Обязательно делайте резервные копии.

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

Как установить кастомную прошивку на андроид?

Эта инструкция по установки кастомной прошивки подходит для большинства устройств андроид:

  1. На первом шаге надо разблокировать загрузчик, процесс разблокировки зависит от смартфона.
  2. Следующим шагом вам надо установить кастомный рекавери.
    3.1. На официальном сайте TWRP https://twrp.me/Devices/, просто указываете название смартфона и скачиваете новую версию для вашей модели.
    3.2. Подключите устройство к компьютеру по USB, и установите на компьютер драйверы.
    3.3. Обязательно нужно установить Android SDK.
    3.4. И в заключении нужно открыть терминал и прошить recovery командой fastboot flash recovery имя_рекавери.img (fastboot расположен в папке platform-tools внутри SDK).
  3. Далее зайдите в TWRP, в настройках нужно указать русский язык, разрешаем изменения и проводим вправо.
  4. Теперь в разделе «Очистка» выбрать «Форматировать Data», в случае если data зашифрован.
  5. Подключив устройство к компьютеру, закачайте файл с прошивкой на флешку.
  6. Кликаем на «Установка», выбираем файл и подтверждаем установку.
  7. Выбираем «Перезагрузка в ОС» (ждать нужно около 10 минут).
  8. Теперь заходим в рекавери и на всякий случай сделайте бэкап.

Кастомная прошивка может быть использована как дополнительная, при этом вы сможете также продолжать пользоваться основной. В этом случае вы получаете две прошивки на одном девайсе, здесь поможет MultiROM Manager.

Сначала сделайте резервную копию системы, потом установите приложение, перезагрузите смартфон. Установку второй прошивки делайте через MultiTWRP в разделе Advanced — MultiROM или можно через приложение.

На видео простой способ установки кастомной прошивки на андроид через режим recovery.

Список популярных кастомных прошивок для скачивания

CyanogenMod работает на большинстве моделей — cyanogenmod.com

кастомная прошивка Cyanogenmod-10.1

MIUI — множество возможностей по модификации системы, качать отсюда en.miui.com

прошивка MIUI

Slim ICS — всевозможные настройки и параметры. Работает на Galaxy Nexus, Galaxy S 2, Nexus S, Galaxy S. Официальный сайт slimroms.com

SlimICS

Liquid Smooth ROMS — поддерживает не многие модели, на сайте liquidsmoothroms.com найдете полную информацию и сами файлы для скачивания, на картинке прошивка Galaxy S3 на Android 4.2.1.

proshivka LiquidSmooth

И последняя в списке LeWa — постоянно дорабатывается, функциональная и быстрая, для загрузки с их сайта bbs.lewaos.com/download.php

вид LewaOS на fly

Особенности прошивки от стороннего разработчика

Они отличаются стабильной работой, и практически никогда не сбоят. Это связано с надежным фундаментом, которым служит многократно проверенная база, созданная разработчиками официальной версии.

Такие платформы разделяют на деодексированные и одексированные. Первые – это прошивки, в которых к каждому приложению прилагается программа с расширением odex – в них содержится часть его JAVA-кода.

android фото

Во втором виде все приложения уже содержат этот код, что позволяет добиться большей компактности.

Особенности прошивки на базе оригинальной Android

В них нет никаких ограничений, которыми пестрят оригинальные версии ОС Андроид. Они могут быть оформлены как угодно, и обладают уникальным интерфейсом. Однако свобода, которую получает пользователь используя их, часто сопряжена с нестабильной работы системы.

Частым явлением при работе с ними являются зависания системы и вылеты. Впрочем, доработать такие прошивки можно и самостоятельно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *