Как перепрошить Aндроид: подробная пошаговая инструкция

Ошибки Android
Андроид – операционная система. Такая программа используется для планшетов и телефонов. Прошивка андроид дает возможность установить систему на устройство, чтобы гаджет нормально функционировал. Однако, как и в любой другой программе, здесь могут возникнуть сбои или она может устареть. Чтобы восстановить функции системы или установить новую версию, выполняется перепрошивка. Такую манипуляцию может осуществить даже новичок. Как перепрошить андроид?
Что такое прошивка?
Прошивка android – установка программы на микрочип устройства. Такая манипуляция выполняется на заводе-производителе. Исходя из этого, несложно догадаться, что перепрошивка – обновление программы. Манипуляцию выполняют в следующих ситуациях:
- если версия операционной системы устарела и необходимо установить новый вариант;
- если в работе программы возникли какие-либо сбои;
- если необходимо сменить язык системы на русский;
- если необходимо взломать защиту программе при блокировке гаджета.
Как перепрошить андроид?
Если говорить о том, как перепрошить телефон андроид самостоятельно, то успех мероприятия во многом зависит от правильной подготовки. Первое, что рекомендуется сделать – зарядить устройство. Далее через меню следует выяснить точное наименование устройства и программного обеспечения.
Перед выполнением манипуляции нужно понять, какое будет устанавливаться программное обеспечение – официальное или стороннее.
До начала нужно выполнить действия:
- найти в интернете файл с прошивкой, подходящей для конкретного типа устройства;
- скачать программу на компьютер для того чтобы выполнить обновление программного обеспечения и подготовить кабель-USB в том случае, если манипуляция выполняется через персональный компьютер;
- если прошивка выполняется через стороннее программное обеспечение, то следует скачать на гаджет программу Recovery;
- выполнить резервную копию того программного обеспечения, которое установлено на устройство.
Только после этого выполняется повторная прошивка смартфона или любого другого гаджета.
Прошивка телефона при помощи CWM Recovery
Если говорить о том, как прошить android при помощи CWM Recovery, то на устройство сначала необходимо установить соответствующую утилиту. Далее выполняется манипуляция:
- Осуществляется вход в R Чтобы выполнить такую манипуляцию, устройство отключают. Далее нажимают некоторые клавиши для входа в программу. Комбинация зависит от производителя гаджета. Какой именно набор подходит для того или иного устройства, можно определить экспериментальным путем. Для этого следует выполнить одну комбинацию, а если это не дает результат, то попробовать другой вариант. Можно нажать следующие клавиши:
- увеличение громкости и отключение;
- уменьшение громкости и отключение;
- увеличение или уменьшение громкости и отключение, а также «домой»;
- обе клавиши громкости и отключение.
Если все выполнено правильно, то система выдаст меню программы. Чтобы им управлять, следует использовать клавиши увеличения и уменьшения громкости для передвижения вверх и вниз, а также отключения для выбора действия.
- Выполняется сброс всех настроек до тех, которые были установлены на заводе первоначально. В меню выбирается пункт «wipe data/factory rese» и подтверждается совершенное действие. Обычно система выдает строку, в которой одним из вариантов стоит yes или ok;
- Далее последовательно выбираются следующие пункты меню: «Install zip» — это первое действие и «Choose zip from /sdcard» — это второе действие. После этого следует выбрать тот файл, в котором была сохранена изначальная прошивка. Далее подтверждаются действие.
- Предыдущее действие запускает процесс перепрошивка системы. По его окончанию на экране высветиться Install from sdcard complete.
- Выполняется вход в программу CWM R После этого гаджет рекомендуется перезагрузить. Однако сделать это можно не с помощью кнопки включения, а выбрав в меню пункт «reboot system now».
Когда все действия выполнены, гаджет перезагружается и перепрошивается. Обычно это занимает 10 минут, но может потребоваться как больше, так и меньше времени, в зависимости от марки устройства.

Как прошить телефон андроид при помощи TWRP Recovery?
Повторная прошивка телефона с помощью этой программы осуществляется следующим образом:
- Выполняется перемещение файла, в котором сохранились данные о прошивке гаджета, в память телефона, чтобы потом можно было его извлечь и запустить обновление;
- выполняется вход в программу так же, как и в случае с CWM, то есть используют для этого различные комбинации клавиш: уменьшение или/и увеличение громкости + отключение, увеличение или уменьшение громкости и отключение, а также «домой», обе клавиши громкости и отключение;
- производится сброс программ до первоначальных настроек, а по завершении действия выполняется переход в главное меню TWRP Recovery;
- выбирается пункт «Install» и запускается файл с изначальной прошивкой, который в самом начале был сохранен в памяти устройства.
После этого выполняется перепрошивка гаджета. Когда процесс будет завершен, рекомендуется перезагрузить телефон или планшет.
Установка обновлений при помощи ROM Manager
ROM Manager дает возможность выполнить обновление системы и сохранить все установленные приложения, скаченные файлы и другие данные системы. После завершения операции можно быстро восстановить все данные гаджета.
Чтобы выполнить перепрошивку этим способом, на устройстве должен иметься доступ к root правам. Благодаря этому система получает доступ к внутренним файлам устройства.
Нужно скачать файл с прошивкой устройства. После этого выполняются следующие манипуляции:
- архив прошивки переносят в память гаджета с помощью ZIP расширения;
- выполняют вход в утилиты;
- выбирают действие установить ROM с карты SD;
- отыскивают архив прошивки и выбирают этот файл;
- в меню выбирают пункт для установки новой программы и автоматической перезагрузки гаджета.
После подтверждения действия запускается процесс перепрошивки устройства.

Как прошить андроид через компьютер?
Прошивка телефона андроид с помощью персонального компьютера производится через утилиту, название которой Fastboot. Она подходит для большинства устройств за редким исключением.
Перед выполнением манипуляции необходимо получить доступ к ядру системы. Разработчики в большинстве случаев специально перекрывают этот доступ, чтобы пользователи не могли самостоятельно выполнять перепрошивку устройства. Чтобы снять блокировку, можно воспользоваться загрузчиком операционной системы Bootloader. Такая манипуляция требует внимательного изучения инструкции по работе в программе.
Перед тем как начинать перепрошивку, необходимо подсоединить гаджет компьютеру с помощью USB-кабеля и включить отладку устройства. Важно использовать качественный кабель. Если на проводе имеются повреждения, то в любой момент может быть прервано соединение и процедуру придется начинать заново.
Краткая инструкция по установке ZIP прошивки при помощи Fastboot
В данном случае рекомендуется придерживаться следующего алгоритма:
- выполняется копирование архива ZIP с файлом первоначальной прошивки в заводских условиях, и он перемещается в папку с ADB;
- активизируется утилита Fastboot и в соответствующей строке вводится данные значения: fastbooflash zip имя_файла.zip.
После этого запускается перепрошивка устройства. После завершения процесса рекомендуется перезагрузить гаджет.

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

Любую прошивку можно доработать под определенного пользователя
Далеко не все знают, что прошивку можно допилить под свои личные потребности. Существуют несколько способов, как это можно сделать, каждый из них отличается уровнем сложности и необходимым набором инструментов. И, если вы не знаете, как собрать прошивку Android самостоятельно, эта статья для вас.
Сборка из исходников
Один из самых правильных способов является использование исходного кода, публикуемого командами разработчиков Google или Cyanogenmod. Но одновременно этот способ самый сложный, ведь для того, чтобы собрать прошивку Android из исходников, оптимизировать её и заставить работать на конкретном устройстве, нужно обладать довольно глубокими навыками программирования, разбираться во всех тонкостях работы мобильной операционной системы и железа устройства. Эти знания не приобретаются за день, поэтому в этой статье мы не будем подробно описывать этот способ.

Изменение уже готового файла
Если вы не слишком разбираетесь во всех тонкостях работы ОС, но хотите что-то изменить в своей прошивке, лучшим решением будет подправить уже готовое решение. Можно изменить как родную, встроенную прошивку, так и уже изменённую кем-то другим. Кастомизированных прошивок в интернете очень много, и вы вряд ли будете испытывать недостаток в их количестве. Итак, представляем пошаговую инструкцию по сборке собственной прошивки на основе уже существующего продукта.
Редактирование с помощью компьютера
Необходимое программное обеспечение
Нам понадобится компьютер, устройство, файл прошивки и специальная программа под названием Android Kitchen (известная также как кухня). Файл прошивки можно найти на специализированных форумах, наиболее известные — англоязычный XDA Developers и русскоязычный 4PDA. В разделе вашей модели устройства можно найти ссылки на самые популярные и проверенные прошивки как официальные стоковые, так и неофициальные пользовательские.
Далее нужно установить кухню на свой компьютер. Лучше всего работать под Linux, но необходимые библиотеки можно поставить и в Windows. В этом случае можно выйти из ситуации установив Cygwin. Загрузите архив и следуйте пошаговой инструкции, помещённой в архиве. Перед этим потребуется установить также Java Platform (JDK) с официального сайта (https://www.oracle.com/java/technologies/javase-downloads.html для Windows) или же в Центре приложений Ubuntu найти и скачать OpenJDK Java 6 Runtime либо похожее (для Linux). Второй вариант использования — установить Linux на виртуальную машину и управлять процессом через неё.

Модификация прошивки
Прошивки чаще всего распространяются в виде файла с расширением .img, реже — как ZIP-архив. В обоих случаях вам понадобится переместить файл с прошивкой в папку установленной кухни, чтобы она смогла импортировать её и начать с ней работу. Кухня должна быть установлена по пути c:/cygwin/home/user/ (при установке через Cygwin) или Файловая система/home/user/ (при работе через Linux).

- Запустите кухню через Cygwin или Linux-терминал с помощью команды cd kitchen, затем ./menu.
- Распакуйте архив в кухню, как уже писалось выше.
- После того как появится меню программы, перейдите в раздел 0. Advanced Options.
- После этого будет представлен список команд для модификации прошивки. Выберите именно ту, которая нужна вам. Можно добавить Busy Box, Root, Apps2SD, заменить стоковые приложения, различные анимации, освободить память устройства и многое другое.
- После окончания манипуляций запустите в главном команду 99. Build ROM from working folder (Построить прошивку с рабочей папки) и заберите ZIP-архив с OUTPUT_ZIP.

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

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

Редактирование на устройстве
Самый простой способ из всех возможных. Не нужно никаких дополнительных приборов и манипуляций. Вам понадобится лишь устройство с рут-правами, приложение для создания резервных копий (лучше всего Nandroid backup) и файловый менеджер с функцией изменения системного раздела.

Изменение собственной прошивки
- Если на устройстве ещё не получен root, получите его. Как это сделать, можно прочесть на специализированных форумах в разделе, посвящённом именно вашему аппарату. Дело в том, что универсальные способы поддерживаются малым количеством устройств и большинство из них имеют индивидуальную процедуру.
- Установите Nandroid backup ) и сделайте с его помощью резервную копию системы своего девайса. Сохраните её в надёжном месте, например, в облачном хранилище. Для чего создавать копию? Вдруг что-то пойдёт не так или вы нечаянно удалите что-то нужное — будет возможность вернуть всё как было.

- Установите файловый менеджер, работающий с системным разделом, чтобы удалить ненужный софт и добавить свои приложения. Золотым стандартом является Titanium Backup.
- Выберите приложения, которые вы хотите удалить, и удалите их через файловый менеджер.
- Установите приложения, которыми вы хотите заменить удалённые, и через Titanium Backup сделайте их системными.
- Перезагрузите устройство и наслаждайтесь своими успехами.

Изменение сторонней прошивки в ZIP-архиве
- Скачайте интересующий вас файл прошивки в формате .zip.
- Установите файловый менеджер, умеющий работать с архивами, например, ES Проводник или Total Commander, и распакуйте содержимое архива.
- Удалите лишние или добавьте недостающие приложения, после чего запакуйте архив обратно и переместите в корень флеш-карты.
- С помощью Nandroid backup ) создайте резервную копию системы и скопируйте её на облачный диск.
- Прошейте устройство из режима Recovery.

Заключение
Как видите, сборка прошивки Android своими руками необязательно очень длительный и сложный процесс, требующий глубоких познаний. Понятно, что с нуля создать модификацию будет куда сложнее, но что-то подправить или заменить и удалить лишние программы под силу практически каждому. Надеемся, наша инструкция вам в этом помогла.
Собирали ли вы прошивку для Android самостоятельно? Что вы в ней меняли и каким образом это делали? Будет интересно, если вы поделитесь своими отзывами.
Небольшой курс по прошивке смартфонов
Приветствую! И так, по какой-то причине вы решили прошить свой или чей-то телефон и читаете мой пост. Я долго собирал материал, что бы сделать этот пост более наглядным. На мой взгляд самая понятная инструкция — это видеоурок. Существует огромное количество устройств, которым по тем или иным причинам необходимо "вправить мозги".
Для восстановления программного обеспечения любого устройства нам надо:
1) пк с операционной системой, которая соответствует программе прошивальщику и прошивочным драйверам.
2) программа прошивальщик (далее флешер)
3) драйверы для режима прошивки
4) файл(ы) прошивки
5) соответствующий кабель
6) комбинация клавиш вводящих телефон в режим прошивки.
Так как нереально описать процесс прошивки всех устройств, я расскажу как прошить самые распространенные на сегодняшний день устройства на базе процессоров qualcomm, exynos, mediatek, speadtrum, apple, kirin.
Пара банальнейших советов, облегчающих жизнь мастерам до прошивки:
1) всегда прошивайте телефон или с ноутбука или с компьютера подключенному к ИБП.
2) Перед прошивкой проверьте разъём в телефоне, при необходимости разъём надо очистить от грязи, коррозии и тд.
2.1 Если на разъёме видны следы коррозии, то сначала необходимо вскрыть устройство, и проверить нет ли следов жидкости на плате.
3) не используйте для прошивки usb разветвители, хабы, порты на корпусе системника. Вставляйте кабель в usb порт напрямую впаянный в материнскую плату .
4) желательно чтобы акб устройства был заряжен минимум на 50%.
Приступим к прошивке. Самые простые на мой взгляд в плане прошивки устройства — это устройства фирмы Apple. Скачиваем и устанавливаем программу iTunes, эта программа при установке сама установит все необходимые драйверы, сама точно определит какое устройство подключено, сама скачает прошивку. Есть 3 режима из которых можно прошить яблочное устройство:
А) normal. Это обычный режим, когда iphone/ipad/ipod загружается до рабочего стола, вы можете разблокировать устройство и вам просто надо обновить устройство, с сохранением данных пользователя. Просто подключаете разблокированное устройство к пк, на экране устройства нажимаете "доверять этому пк", если айтюнс сообщит что есть новая прошивка, то нажимаете "обновить", со всем соглашаетесь и через 15-30 минут (в зависимости от размера прошивки и скорости вашего интернета) вы получите самую новую версию программного обеспечения для вашего устройства на сегодняшний день.
Б) recovery. Если ваше яблочное устройство заглючило, не загружается, висит на заставке и дальше яблока не загружается, или циклически перезагружается, или надо просто стереть все данные вместе с экранным паролем, или на экране устройства вот такая картинка, то действуем следующим образом: подключаем к пк устройство, зажимаем клавишу home(или клавишу уменьшения громкости начиная с айфон7) и нажимает кнопку включения секунды на 3-5, держим обе кнопки пока устройство не перезагрузится и сразу отпускаем кнопку включения, продолжаем держать home. Как только увидим на экране яблочного устройства значок "подключитесь к айтюнс" можно отпускать кнопку home. Программа айтюнс на пк должна найти устройство в режиме восстановления и предложить вам либо ВОССТАНОВИТЬ УСТРОЙСТВО (сотрёт все данные и пароли, прошьёт самую свежую прошивку), либо ОБНОВИТЬ (просто прошьёт самую свежую прошивку, данные не будут затронуты). Если же вы зажмёте на клавиатуре пк клавишу shift и одновременно кликните ВОССТАНОВИТЬ, то айтюнс предложит выбрать вам локальный файл прошивки, заранее вами скаченный.
В) DFU: почти тот же режим рекавери, с той лишь разницей что в dfu попадает яблоко с более серьёзными проблемами. При dfu режиме яблоко не подаёт ни каких признаков работоспособности, кроме как то, что пк находит устройство apple dfu device. Искусственно загнать яблоко в dfu режим можно комбинацией клавиш включения и хом, подключаем яблоко к пк, удерживаем эти клавиши пока аппарат не выключится, после того как аппарат выключится, продолжаем удерживать кнопку включение и хом ещё 10 секунд, потом отпускаем кнопку включения, хом продолжаем удерживать. А дальше восстанавливаем через айтюнс.
Начиная с iPhone7 apple заменили механическую кнопку домой на сенсорную, а в моделях iphone x и последующих этой кнопки совсем убрали. Чтобы ввести новые модели iPhone'ов в режим прошивки без нажатия клавиш есть специальные кабели и переходники.
Samsung. Все андроид-смартфоны и планшеты фирмы Samsung шьются программой Odin не зависимо от того на базе какого процессора устройство (у самсунга есть модели на процах exynos, mediatek, qualcomm и даже на spreadtrum)
До 2018 года все модели смартфонов и планшетов samsung вводились в режим прошивки сочетанием клавиш уменьшение громкости+хом+включение. Если на планшете нет кнопки хом, то только уменьшение громкости и включение.
Начиная примерно с 2018 года устройства самсунг вводятся в режим прошивки следующим способом: на выключенном устройстве зажимаете обе клавиши регулировки громкости и подключаете кабелем к пк. Что надо учитывать при прошивки самсунгов?
Текущая версия прошивки: не рекомендуется понижать прошивку, начиная с моделей 2017 года понизить версию прошивки нельзя. В более ранних моделях иногда стирался imei номер при понижении прошивки или записи прошивки предназначенной для другой страны (региона)
Как узнать версию прошивки на телефоне самсунг, который включается? В звонилке набираем код *#1234# вы увидите 3 строки: версия основной операционной системы, прошивки модема, и версия настроек под конкретный регион.

Если же смартфон не загружается, то версию прошивки можно посмотреть зайдя в recovery (звук+ домой и включение)

Версия прошивки подчеркнута красной линией, версия загрузчика 5й символ, если считать справа налево. Так вот если вы вдруг решите прошить в самсунг прошивку с более низкой версией загрузчика, у вас ничего не получится.
Есть программа для скачивания прошивок Samsung, называется SamFirm, существует много разновидностей этой софтины, ибо разработчики постоянно меняются. Если вдруг вы решите воспользоваться этой программой, то я для вас подготовил расшифровку регионов.
Russia — SER
Afghanistan — AFG
Algeria — TMC
Argentina — ARO
Argentina — CTP
Argentina (Claro) — CTI
Argentina (Moviestar) — UFN
Argentina (Personal) — PSN
Australia — XSA
Australia (Optus) — OPS
Austria (3 Hutchison) — DRE
Austria (A1) — MOB
Austria (Orange) — ONE
Austria (T-Mobile) — MAX
Austria (Telering) — TRG
Baltic — SEB
Bangladesh — TML
Belgium / Luxemburg — PRO
Bosnia and Herzegovina — ERO
Bosnia and Herzegovina (BH TELECOM) — BHT
Brazil — ZTO
Brazil (Claro) — ZTA
Brazil (TIM) — ZTM
Brazil (VIVO) — ZVV
Bulgaria — GBL
Bulgaria (MTL) — MTL
Bulgaria (VVT) — VVT
Chile — CHO
Chile (Claro) — CHL
Chile (Entel PCS) — CHE
Chile (Telefonica) — CHT
China — CHU
Colombia — COL
Colombia (Comcel) — COM
Colombia (Moviestar) — COB
Costa Rica — ICE
Croatia — TRA
Croatia (T-Mobile) — CRO
Croatia (VIPNET) — VIP
Cyprus — CYV
Cyprus (Cytamobile Vodafone) — CYO
Czech Republic — XEZ
Czech Republic (O2C) — O2C
Czech Republic (T-Mobile) — TMZ
Czech Republic (Vodafone) — VDC
Denmark (3) — HTD
Dominica — DOR
Dominican Republic — CDR
Ecuador — ECO
Ecuador — EBE
Egypt — EGY
France — XEF
France (Bouygues) — BOG
France (Orange) — FTM
France (SFR) — SFR
Germany — MBC
Germany — DBT
Germany (E-Plus) — EPL
Germany (O2) — VIA
Germany (T-Mobile) — DTM
Germany (Vodafone) — VD2
Greece — EUR
Greece (Cosmote) — COS
Greece (Vodafone) — VGR
Guatemala — TGU
Guatemala — PGU
Guatemala (Tigo) — CGU
Hong Kong — TGY
Hungary — XEH
Hungary (T-mobile) — TMH
Hungary (Telenor) — PAN
Hungary (VDH) — VDH
India — INU
India — INS
Indonesia — XSE
Iran — THR
Iraq — MID
Ireland (Meteor) — MET
Ireland (O2) — O2I
Ireland (Three) — 3IE
Ireland (Vodafone) — VDI
Israel — ILO
Israel (Cellcom) — CEL
Israel (Mirs) — MIR
Israel (Orange/Partner) — PTR
Israel (Pelephone) — PCL
Italy — ITV
Italy (H3G) — HUI
Italy (Vodafone) — OMN
Italy (Wind) — WIN
Jamaica — JDI
Kazakhstan — SKZ
Kazakhstan (Kcell) — KCL
Kenya — AFR
Kenya — KEN
Libya — BTC
Luxembourg — LUX
Macedonia — VIM
Macedonia — MBM
Malaysia — XME
Mexico — IUS
Mexico (Movistar) — TMM
Mexico (Telcel) — TCE
Morocco — FWD
Morocco (MAT) — MAT
Morocco (MED) — MED
Morocco (MWD) — MWD
Nepal — NPL
Netherlands — PHN
Netherlands (T-Mobile) — TNL
Netherlands (Vodafone) — VDF
New Zealand (Vodafone) — VNZ
New Zeeland — NZC
Nigeria — ECT
Nordic countries — NEE
Norway (Telenor) — TEN
Open Austria — ATO
Open Europe — OXA
Pakistan (PAK) — PAK
Panama — TPA
Panama — PBS
Panama (Cable & Wireless) — PCW
Panama (Claro) — CPA
Peru — PET
Peru (SAM) — SAM
Philippines — XTE
Philippines (Globe) — GLB
Philippines (Smart) — SMA
Philippines (Sun) — XTC
Poland — XEO
Poland (Orange) — IDE
Poland (PLUS) — PLS
Poland (Play) — PRT
Poland (T-mobile) — TPL
Portugal (Optimus) — OPT
Portugal (TMN) — TMN
Portugal (TPH) — TPH
Portugal (Vodafone) — TCL
Puerto Rico — PCT
Romania (Cosmote) — COA
Romania (Orange) — ORO
Romania (Vodafone) — CNX
Saudi Arabia — KSA
Saudi Arabia (JED) — JED
Serbia — TSR
Serbia (Telenor) — MSR
Serbia (Vip SRB) — TOP
Singapore — XSP
Singapore — MM1
Singapore (SingTel) — SIN
Singapore (StarHub) — STH
Slovakia — ORS
Slovenia (Mobitel) — MOT
Slovenia (Si.mobil) — SIM
South Africa — XFE
South Africa — XFA
South Africa (Vodafone) — XFV
Spain — PHE
Spain (Moviestar) — XEC
Spain (Orange) — AMN
Spain (Vodafone) — ATL
Spain (Yoigo) — YOG
Sri Lanka — SLK
Sweden — VDS
Sweden (Tre) — HTS
Switzerland — AUT
Switzerland (Swisscom) — SWC
Taiwan — BRI
Taiwan (WAN) — WAN
Thailand — THL
Trinidad and Tobago — TTT
Tunisia — ABS
Tunisia — TUN
Turkey — TUR
Ukraine (Kyivstar) — SEK
United Arab Emirates — XSG
United Kingdom — BTU
United Kingdom (H3G) — H3G
United Kingdom (O2) — O2U
United Kingdom (Orange) — ORA
United Kingdom (T-Mobile) — TMU
United Kingdom (Vodafone) — VOD
Uruguay — UFU
Uruguay — UPO
Uruguay (Claro) — CTU
Vietnam — XXV
Vietnam — XEV
Ну и для наглядности ролик по прошивке Samsung SM-G531
Qualcomm. Чипы этой фирмы есть в каждом 2м смартфоне на планете. Программа, которая прошивает устройства на базе процессоров qualcomm называется QFIL (qualcomm flash image loader) и входит в пакет программ QPST. Для прошивки используется режим EDL (emergency download — экстренная прошивка), устройство в этом режиме определяется компьютером как HS-Diagnostic interface 9008. Для установки этих драйверов необходимо отключать проверку цифровой подписи на 64 битных ОС. Принудительно ввести устройство в режим edl можно либо комбинацией клавиш (у каждого производителя и модели эта комбинация своя, необходимо гуглить), а некоторые модели только с помощью тестпоинтов или сервисного кабеля.

Testpoint — это такие контакты на материнской плате смартфона, при замыкании которых устройство входит в специальный режим прошивки.
Создаем Android-прошивку из подручных материалов
Любой пользователь Android имеет свое представление о том, как должна выглядеть операционная система, какие функции выполнять и какой набор ПО в ней должен быть установлен по умолчанию. Однако далеко не все знают, что создать собственную прошивку не так уж сложно. Для этого совсем не обязательно разбираться в ядре Linux, уметь компилировать исходники Android или понимать, как устроен смартфон.
Введение
Существует три способа создания собственной прошивки для Android-коммуникатора: 1. Допиливание и компиляция операционной системы из исходников, публикуемых компанией Google или командой CyanogenMod. 2. Модификация стоковой прошивки коммуникатора. 3. Модификация сторонней прошивки, созданной с помощью первого или второго способа.
Первый способ является наиболее правильным и гибким, однако он зачастую требует достаточно глубоких знаний об особенностях Android и умения редактировать исходники системы так, чтобы они после этого работали на устройстве. Эта тема выходит за рамки нашей статьи, поэтому сборку исходников Android мы рассматривать не будем, а остановимся на двух других способах, точнее на третьем.
Сторонние прошивки (так называемые моды) существуют практически для любого Android-устройства, с момента выхода которого на рынок прошла хотя бы неделя. Обычно они уже включают в себя все необходимые модификации, необходимые для корректной работы прошивки на коммуникаторе, а потому представляют собой отличную площадку для экспериментов над системой. Их можно модифицировать практически до неузнаваемости, включать в состав ОС любое ПО, изменять ее внешний облик, создавать множество низкоуровневых настроек с помощью простого текстового редактора и файлового менеджера. Эти действия не требуют глубоких знаний ОС и могут быть выполнены любым читателем журнала.
Выбираем подопытного
Итак, предположим, что наш коммуникатор уже зарутован и в загрузочную область записана консоль восстановления ClockworkMod, позволяющая устанавливать на аппарат любые прошивки без всяких ограничений (о том, как это сделать, мы писали в статье «Тотальное подчинение», опубликованной в октябрьском номере ][). Теперь мы хотим установить на устройство другую прошивку, да не абы какую, а с собственными модификациями, настройками и набором ПО. Поэтому нам нужен каркас, а именно чужая прошивка, стабильно работающая на нашем устройстве. Где ее взять?
Главное место обитания всех ромоделов — это, конечно же, форумы xda-developers.com. Там можно найти все что угодно для коммуникаторов, работающих под управлением iOS, Windows Mobile, Windows Phone и Android. Открываем сайт в браузере, жмем на раздел Forums и ищем в списках форумов свой коммуникатор. Далее заходим в соответствующий раздел Android Development и внимательно просматриваем список тем, содержащих в названии слово «[ROM]». Лучше найти какую-нибудь чистую прошивку с названием вроде «Pure Android 2.3 Rom» или порт CyanogenMod, хотя, в сущности, подойдет и любая другая (правда, возможно, придется отменять авторские изменения). Открываем тему, проматываем первый пост, находим где-то в конце ссылку на скачивание и загружаем ROM на свой комп.

Моды анимации загрузки с xda-developers
Другие статьи в выпуске: 
Хакер #156. Взлом XML Encryption
Теперь файл прошивки нужно вскрыть. Делается это с помощью самого обычного unzip:
Общая структура каталогов и важные файлы
Набор файлов и каталогов, образовавшийся в результате выполнения предыдущей команды, и есть, в сущности, операционная система Android, причем ровно в том виде, в каком она будет размещена в NAND-памяти устройства. В зависимости от версии Android и фантазии автора, она может содержать разные наборы каталогов и файлов, однако в ней всегда присутствуют три обязательных объекта: META-INF, файл boot.img и директория system.
Первый каталог содержит метаинформацию о прошивке, включая файлы сертификатов автора, манифест со списком файлов и их контрольными суммами, а также скрипт обновления, который может создавать в NAND-памяти новые файлы, менять права доступа и выводить прогресс-бар, который видят пользователи во время установки прошивки.
Файл boot.img содержит загрузочный образ, который включает в себя ядро Linux и образ initrd. Его можно распаковать, однако для нас он не несет особой пользы, так как почти любые системные параметры можно изменить с помощью файлов настроек и файловой системы /proc. Если же тебе требуется ядро, собранное с особыми параметрами, например с активированным планировщиком BFS или поддержкой NFS, то почти наверняка его можно найти на том же xda-developers и прошить с помощью ClockworkMod.

ClockworkMod Recovery: кастомное меню восстановления для Android
Наконец, каталог system — это то, ради чего все и затевалось. Содержимое этого каталога и представляет собой операционную систему Android без ядра Linux. Он содержит все, что нужно для работы ОС, а потому знать его структуру просто необходимо. Выглядит она так:
- app — предустановленные приложения: телефон, калькулятор, календарь и т. д.
- bin —аналог каталогов /bin и /usr/bin в Linux. Содержит различные системные компоненты, используемые более высокоуровневыми компонентами системы. Например, именно здесь лежит виртуальная машина dalvikvm.
- etc — файлы настроек. Полный аналог /etc в Linux, используемый, однако, только системными компонентами. Приложения Android хранят настройки в каталоге /data/data.
- fonts — шрифты. По умолчанию содержит только фирменные шрифты Droid (или Roboto в Android 4.0).
- framework — наборы Java-классов, используемые системой и Android-софтом. Тут же лежит файл framework-res.apk, содержащий полное описание интерфейса операционной системы, включая все графические файлы.
- lib — Linux-библиотеки, используемые низкоуровневыми компонентами системы. Аналог каталогов /lib и /usr/lib в Linux, включает такие стандартные библиотеки, как libc (правда, Android использует собственную Bionic вместо Glibc), libz (gzip-шифрование), libssl и другие.
- media — медиафайлы: рингтоны, звуки уведомлений, звуки интерфейса и файлы анимации загрузки ОС.
- tts — файлы, необходимые для работы синтезатора речи.
- usr — необязательный каталог, который обычно содержит файлы, необходимые для работы софтин из каталога bin. По сути, аналог /usr/share.
- vendor — файлы, поставляемые производителем аппарата. Обычно содержит бинарную firmware для различных «железных» компонентов, например модуля Wi-Fi.
- xbin — необязательный каталог, который содержит все, что не вошло в bin. Как правило, используется для хранения полезных утилит, тем не менее необязательных для работы системы (top, текстовый редактор). CyanogenMod использует его для хранения инструментов администрирования: bash, ssh, powertop, busybox и т. д.
- build.prop — файл, содержащий информацию о сборке, а также различные низкоуровневые настройки.
Kоманда setprop
Приведенные в статье настройки build.prop можно применить и в уже работающей системе с помощью команды setprop:
Собственный набор ПО
Каталог /system/app содержит все предустановленное в прошивку ПО. Удаляя и добавляя пакеты в этот каталог, мы можем изменить набор приложений, доступных «из коробки». Например, ни для кого не секрет, что стандартный ланчер Android (да и ADWLauncher в CyanogenMod) тормозит и имеет многочисленные недостатки. ОK, заменим его на LauncherPro:
И это все. Не надо ничего устанавливать, не надо нигде ковыряться, просто закидываем нужное приложение в каталог — и готово. Даже имя не имеет значения, Android сам найдет нужное приложение и установит его в качестве домашнего экрана. Таким же образом можно поместить в прошивку любую другую программу или удалить ее оттуда.
Полезно поместить в прошивку одно из приложений для поиска утерянного смартфона (например, prey), тогда даже в случае сброса до заводских настроек оно останется в ОС и будет работать. Также можно заменить некоторое системное ПО, например добавить Dialer One вместо стандартного Phone.apk или Go SMS вместо sms.apk.
Как насчет системных Linux-приложений, например ssh-сервера или mc? Здесь тоже все просто. Собрать софтину для Android и процессора ARM можно с помощью комплекта NDK от Google, но большинство нужных приложений уже собрано до нас. Например, мы хотим предустановить mc в свою прошивку. Идем на xda-developers и выполняем поиск по запросу Midnight Commander. На первой же странице находим apk-пакет с установщиком и распаковываем его с помощью все того же unzip:
Видим в списке распакованных файлов assets/kits/mc-4.7.5.4-arm.tar.jet. Это архив tar.gz, который распаковывается в корень системы после установки apk-пакета (а точнее, после установки apk, запуска приложения и нажатия кнопки Install). Мы можем сразу распаковать его в нашу прошивку и получить предустановленный mc:
Теперь для запуска файлового менеджера на устройстве достаточно открыть терминал и набрать mc. Другие приложения могут распространяться в zip-архивах для прошивки с помощью ClockworkMod Recovery. Поместить их в свой мод еще проще, для этого достаточно перейти в корень прошивки (в данном случае
/rom) и распаковать архив с помощью unzip.

Свежераспакованная прошивка
Внешний облик
Собственную прошивку чаще всего создают для того, чтобы изменить внешний облик Android по своему вкусу. Проделать эту операцию в Android, опять же, очень просто. Все настройки графического интерфейса Android хранятся в файле framework/framework-res.apk. Его можно распаковать с помощью утилиты apktool:
В результате в текущем каталоге должен появиться каталог framework-res, содержащий все файлы пакета. Наиболее интересные подкаталоги внутри него — это res/drawable-* и res/layout-*. Первый содержит все графические элементы в виде png-файлов для разных разрешений и положений экрана. Например, drawable-land-mdpi — это каталог с графическими ресурсами для экранов среднего разрешения, находящихся в горизонтальном положении (во время поворота экрана ОС переключается на использование других файлов). Разумеется, любой файл можно отредактировать или заменить другим.

Распаковываем framework-res.apk
Каталоги layout содержат описания графических элементов в формате XML (на самом деле они хранятся в бинарном формате AXML, но apktool преобразовал их в обычный XML). Формат описания достаточно прост и понятен, но с наскоку с ним разобраться трудно, особенно если не знать, где что находится. Поэтому мы снова обратимся к услугам обитателей форума xda-developers, которые уже успели придумать массу различных модификаций для графического интерфейса Android. Их легко найти с помощью поискового запроса «framework-res mod имя_устройства».
Обычно такие моды распространяются в виде готового файла framework-res.apk, который можно просто положить в свою прошивку. Если же ты хочешь найти конкретные отличия в содержимом, то мод можно распаковать и сравнить с твоим framework-res с помощью diff:
К сожалению, в рамках одной статьи мы не можем рассмотреть хотя бы часть внутреннего устройства framework-res, поэтому за более подробной информацией обращайся к соответствующей теме форума 4PDA.
goo.gl/tlHRo — набор советов по изменению framework-res.apk.
goo.gl/fTvz8 — простая анимация загрузки с логотипом Android.
goo.gl/Ya1fX — анимация загрузки с плазменным кругом.
goo.gl/P6JR — анимация загрузки в стиле IBM PC.
goo.gl/sGXwa — анимация загрузки Android Honeycomb.
После внесения модификаций можно собрать framework-res.apk с помощью все того же apktool. Однако для этой операции требуется утилита aapt из комплекта Android SDK, которую apktool использует для окончательной упаковки apk-файла. Ее можно получить и отдельно:
Теперь можно собрать файл:
Следующий этап — это изменение анимации загрузки. Она хранится в виде обычных png-файлов, упакованных в архив system/media/bootanimation.zip. Распакуем его:
Внутри находится файл desc.txt, описывающий анимацию в следующем формате:
Стандартный вид этого файла:
Это значит, что изображение имеет размер 480 x 800, а скорость смены изображений (FPS) составляет 30 штук/с. Далее идет описание первой части анимации, файлы которой находятся в каталоге part0. Она проигрывается один раз (цифра 1 после p). Следующая часть (part1) проигрывается бесконечное число раз, пока аппарат не загрузится. Обычно каталог part0 содержит изображения, соответствующие первой части анимации, а part0 — все остальные изображения, которые проигрываются в цикле. Сами изображения должны быть одинакового размера, а их названия должны содержать числа в возрастающем порядке, например 0001.png, 0002.png и т. д.
Так как анимация загрузки имеет очень простой формат, ее довольно легко сделать. Достаточно преобразовать видеоролик в png-изображения с помощью mencoder (в desc.txt необходимо выставить значение FPS 24):
Но и это будет лишним. Участники форума xda-developers наделали столько анимаций, что необходимость работы руками отпадает вовсе. Ссылки на интересные анимации приведены в конце статьи.
Низкоуровневые настройки
Последнее, о чем я хотел бы рассказать в статье, — это редактирование низкоуровневых настроек. В Android для этого есть файл system/build.prop, который хранит информацию о сборке прошивки и настройки для конкретных устройств. Добавив в этот файл те или иные строки, можно изменить функционирование Android, ускорить его работу или уменьшить расход батареи. Ниже приведены наиболее интересные настройки.

Стандартный build.prop для Motorola Defy
-
Запрет выгрузки рабочего стола из памяти:
Помимо всего этого, многие пользователи также рекомендуют применять следующие комбинации флагов:
- Уменьшение времени отклика сенсорного экрана:
- Увеличение времени жизни батареи:
- Твики 3G-модуля:
- Улучшение производительности сети:
Все эти строки необходимо просто поместить в файл system/build.prop и сохранить.
Сборка
ОК, мы внесли необходимые изменения, внедрили свои приложения, твикнули систему и теперь должны создать готовый к прошивке образ ОС. В этом нам поможет утилита testsign. Сначала следует запаковать прошивку с помощью zip:
Теперь необходимо подписать архив, чтобы Recovery смог его установить:
После этого закидываем архив my-rom-signed.zip на карту памяти устройства и выключаем аппарат. Чтобы попасть в Recovery, включаем аппарат с зажатой клавишей уменьшения громкости (для некоторых устройств процедура может отличаться).
Далее с помощью клавиш управления громкостью выбираем пункт «Wipe data/factory reset», нажимаем клавишу включения (в Recovery это аналог ), выбираем Yes и снова жмем .
Теперь переходим в пункт «Install zip from sdcard», а затем в «Choose zip from sdcard», находим my-rom-sign.zip на SD-карте и выбираем Yes. После завершения установки выбираем «Reboot system now».
Выводы
Android — гибкая платформа, и в этой статье описаны далеко не все возможности по ее модификации. Более глубокая модификация может включать в себя замещение ядра, изменение экрана блокировки и стандартных приложений, активацию таких возможностей, как автоматическая установка приложений на карту памяти, внедрение механизма загрузочных скриптов (/etc/init.d), и многое другое. Обо всем этом мы поговорим в следующих статьях.
Евгений Зобнин
Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.