Сборка из исходников
Один из самых правильных способов является использование исходного кода, публикуемого командами разработчиков Google или Cyanogenmod. Но одновременно этот способ самый сложный, ведь для того, чтобы собрать прошивку Android из исходников, оптимизировать её и заставить работать на конкретном устройстве, нужно обладать довольно глубокими навыками программирования, разбираться во всех тонкостях работы мобильной операционной системы и железа устройства. Эти знания не приобретаются за день, поэтому в этой статье мы не будем подробно описывать этот способ.
Редактирование с помощью компьютера
Необходимое программное обеспечение
Нам понадобится компьютер, устройство, файл прошивки и специальная программа под названием Android Kitchen (известная также как кухня). Файл прошивки можно найти на специализированных форумах, наиболее известные — англоязычный XDA Developers и русскоязычный 4PDA. В разделе вашей модели устройства можно найти ссылки на самые популярные и проверенные прошивки как официальные стоковые, так и неофициальные пользовательские.
Далее нужно установить кухню на свой компьютер. Лучше всего работать под Linux, но необходимые библиотеки можно поставить и в Windows. В этом случае можно выйти из ситуации установив Cygwin. Загрузите архив и следуйте пошаговой инструкции, помещённой в архиве. Перед этим потребуется установить также Java Platform (JDK) с официального сайта (https://www.oracle.com/technetwork/java/javase/downloads/index.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, отформатировать устройство и кэш, а затем установить прошивку из архива. После перезагрузки у вас будет изменённая лично вами прошивка.
Распаковка прошивки Android в ZIP-формате
Любые ZIP-папки распаковываются привычным архиватором, например WinZip. При этом процесс распаковки занимает всего несколько минут, так как объем сжатых файлов не превышает 500 Мб. Скачать и установить программу можно на любой компьютер.
Для распаковки Android-прошивки нужно найти архив на ПК, кликнуть на нем правой кнопкой мыши, выбрать распаковку и указать директорию для переноса всех файлов. Решая, чем распаковать ZIP-прошивку Android или любой другой архив в данном формате, можете воспользоваться такими архиваторами, как WinRAR, 7-Zip, PeaZip или IZArc.
Редактирование на устройстве
Самый простой способ из всех возможных. Не нужно никаких дополнительных приборов и манипуляций. Вам понадобится лишь устройство с рут-правами, приложение для создания резервных копий (лучше всего Nandroid backup) и файловый менеджер с функцией изменения системного раздела.
Изменение собственной прошивки
- Если на устройстве ещё не получен root, получите его. Как это сделать, можно прочесть на специализированных форумах в разделе, посвящённом именно вашему аппарату. Дело в том, что универсальные способы поддерживаются малым количеством устройств и большинство из них имеют индивидуальную процедуру.
- Установите Nandro >
- Установите файловый менеджер, работающий с системным разделом, чтобы удалить ненужный софт и добавить свои приложения. Золотым стандартом является Titanium Backup.
- Выберите приложения, которые вы хотите удалить, и удалите их через файловый менеджер.
- Установите приложения, которыми вы хотите заменить удалённые, и через Titanium Backup сделайте их системными.
- Перезагрузите устройство и наслаждайтесь своими успехами.
Изменение сторонней прошивки в ZIP-архиве
- Скачайте интересующий вас файл прошивки в формате .zip.
- Установите файловый менеджер, умеющий работать с архивами, например, ES Проводник или Total Commander, и распакуйте содержимое архива.
- Удалите лишние или добавьте недостающие приложения, после чего запакуйте архив обратно и переместите в корень флеш-карты.
- С помощью Nandro >
Как прошить и получить рут на Xiaomi Mi4i
Как и обещал ранее выкладываю свою инструкцию и необходимые файлы для прошивки и получения прав суперпользователя смартфона Xiaomi Mi4i. Есть два варианта прошивок смартфона Xiaomi Mi4i: в формате .zip, для прошивки через оригинальное recovery и в формате .tgz для прошивки через fastboot. Давайте разберем оба способа и каждый для себя выберет оптимальный вариант.
Предупреждение! Так как перепрошивка телефона достаточно энергозатратный процесс, необходимо перед всеми манипуляциями со смартфоном убедиться, что уровень аккумулятора составляет более 50%. В идеале телефон должен быть полностью в заряженном состоянии, чтобы заряда аккумулятора хватило на непредвиденные ситуации. Все операции вы делаете на свой страх и риск.
Прошивка файла типа .zip
Для прошивки телефона данным способом стационарный ПК или ноутбук нам не нужен. Разве только чтобы скачать прошивку и перекинуть ее на телефон. Скачиваем прошивку в формате .zip на смартфон и запоминаем в какую папку мы ее положили. Заходим в меню Настройки, далее О телефоне. Внизу нажимаем Обновление системы. Возможно телефон спросит про автоматическое обновление, подтвердите или отклоните данный запрос. Если автоматическое обновление у вас уже установлено, то вы сразу попадете в раздел Обновления.
Так как наша прошивка заранее сохранена на телефоне, то проверять наличие обновлений не нужно. Нажимаем в верхнем правом углу три точечки и выбираем пункт Выбрать файл прошивки. Откроется проводник и нужно будет указать на файл прошивки. Система проверит прошивку и перегрузится в режим recovery. На дисплее телефона будет отображаться весь процесс прошивки. По окончании смартфон перегрузится и начнется инициализация установленных программ.
Данный процесс занимает продолжительное время, в зависимости от количества установленных программ может достигать 20-30 минут. Всё, обновление ПО завершено.
Если вы меняете версию прошивки, то советую сделать сброс к заводским настройкам. В меню Настройки найдите пункт Дополнительно, далее в самом низу будет пункт Восстановление и сброс. В данном окне выберите Сброс настроек. В новом окне выберите, что вы хотите удалить и нажмите на кнопочку Сбросить настройки телефона, которая находится в самом низу экрана. Телефон перегрузится и все данные и настройки вернутся к заводскому состоянию. Данный процесс также занимает продолжительное время. В среднем на это уходит до 10 минут. На экране будет логотип MI и индикатор процесса.
Прошивка файла типа .tgz
Для данного типа прошивок нам понадобится компьютер. Скачайте и установите необходимые драйвера и установщик ADB драйвера. Загрузите и разархивируйте прошивку в папку С:\adb. Папка adb будет иметь следующий вид.
Теперь телефон необходимо перевести в режим Fastboot. Для этого необходимо выключить телефон, затем зажимаем одновременно кнопку понижения громкости и кнопку включения. После включения телефона на экране будет надпись Fastboot и веселая картинка. Можно не переводить телефон в режим Fastboot, а включить режим отладки по USB. Для этого нажмите 7 раз на пункт Версия MIUI, который находится в меню Настройки пункт О телефоне. Тем самым мы разблокировали Режим разработчика. Теперь переходим в раздел Дополнительно, далее Для разработчиков и включаем Отладка по USB.
Подготовительные работы закончились, теперь подключаем телефон. Если все драйвера корректно установлены, то компьютер правильно определит телефон. В диспетчере устройств у нас должно быть устройство CMCC Composite ADB Interface или что-то связанное с ADB, зависит от установленных драйверов. Теперь нажимаем на файл в папке c:\adb\flash_all.bat. Если телефон подключен в режиме Fastboot, то начнется прошивка.
Если нет, то должен будет автоматически перегрузиться в режим Fastboot, если не забыли включить режим отладки по USB. Наблюдаем за прошивкой на экране телефона. После того, как прошивка закончилась рекомендуют отключать кабель USB. По окончании прошивки смартфон перегрузится и начнется инициализация установленных программ.
Данный процесс занимает продолжительное время, в зависимости от количества установленных программ может достигать 20-30 минут. Всё, обновление ПО завершено.
Получение прав суперпользователя (root)
Для получения прав суперпользователя на понадобится Mi4i Toolkit. Разархивируйте скачанный архив себе на диск. Желательно в корень диска. Подключите телефон с включенным режимом отладки по USB или в режиме Fastboot. Запустите от имени администратора файл Start.bat из папки куда мы разархивировали Mi4i Toolkit.
В открывшемся окне программы выберите необходимый пункт. Для получения прав суперпользователя это пункт 1. Подтвердите свой выбор и начнется прошивка boot области. По окончании прошивки через секунд 10 выполнится скрипт установки прав суперпользователя и телефон автоматически перегрузится в штатном режиме.
Теперь на рабочем столе у нас появилась новая программа SuperSU.
Утилита Mi4i Toolkit позволяет также установить кастомное recovery, сделать бэкап области EFS (IMEI), восстановить бэкап области EFS (IMEI) и восстановить штатное recovery.
Если у вас появятся вопросы, я с удовольствием на них отвечу. Ожидайте полный обзор Xiaomi Mi4i.
Телефон для обзора и тестирования предоставлен интернет-магазином Айдагаджет. В магазине имеется большой выбор смартфонов, планшетов и гаджетов от известных производителей Китая. Бесплатная доставка по России.
Структура ZIP-файла с прошивкой
После загрузки распакуем архив с помощью любого архиватора. Внутри будет следующий набор файлов и папок:
- META-INF — папка с метаинформацией о прошивке (сертификат автора, манифест со списком файлов, их контрольными суммами), скриптом обновления (updater-script) и инсталлятором (update-binary), который выполняет команды скрипта по монтированию разделов, копированию файлов и другим действиям с NAND-памятью;
- boot.img — образ с ядром и RAM-диском (он прошивается в раздел boot);
- system.new.dat — это, грубо говоря, и есть сама прошивка, а точнее образ раздела system, содержащий операционную систему Andro >
Содержимое ZIP-файла прошивки LineageOS для Nexus 5
Xakep #246. Учиться, учиться, учиться!
Распаковка IMG-прошивок
Популярным расширением архивов c инсталляционными файлами и прочими данными по прошивке является .img. Это особый подвид архивов, который не разбирается на составляющие привычными методами.
Если вы не знаете, как открыть IMG-прошивку Android на Huawei, понадобится выполнить ряд специфических действий и скачать дополнительный софт. Для работы с прошивками такого типа понадобятся утилиты EXT4 Unpacker и EXT2 Explore. После их скачивания можно приступить к процессу извлечения файлов, который проходит по такой схеме:
- Распакуйте IMG-архив прошивки в любую директорию на компьютере.
- Запустите программу EXT4 Unpacker и с ее помощью найдите файл system.img.
- Сохраните файл system.img с расширением .ext4 с помощью кнопки «Сохранить как».
- После распаковки запустите софт EXT2 Explore от имени администратора. Во вкладке «File» выберите пункт «Open Image», укажите место расположения ранее созданного system.ext4.
- В правой части окна программы EXT2 Explore нажмите на иконку жесткого диска правым кликом мышки, в выпадающем меню выберите опцию «Save». Будет предложена директория для извлечения, укажите любую удобную папку и дождитесь окончания процесса.
Так осуществляется распаковка IMG-прошивки Android с целью извлечения из нее полезных данных и инсталляторов.
Распаковываем system.new.dat
Файлы system.new.dat и system.transfer.list представляют для нас наибольший интерес. Точнее, не они, а содержащаяся в них система. Но добраться до нее не так просто.
Скрипт
Самые ленивые могут разобрать прошивку с помощью скрипта System_Extractor-Linux.
- Распаковываем архив с прошивкой в любую папку.
- Качаем скрипт по ссылке и разархивируем в любую папку.
- Запускаем файл ext (если будет ругаться на отсутствие Java, просто пропусти, нажав y ; Java нужна только для запаковки).
- Теперь выбираем распаковку, нажав кнопку 1, а затем Enter.
- Новая папка с именем extract_* появится рядом с файлом ext и папкой tools . Копируем в нее файлы system.new.dat и system.transfer.list .
- После копирования файлов нажимаем Enter и ждем. Через некоторое время нужно будет опять нажать Enter, ввести пароль администратора и еще раз тапнуть Enter.
- Готово. Содержимое system в папке extract_*/output .
Скрипт для распаковки system.new.dat в Linux
Ручной способ
Распаковываем архив с прошивкой в любую папку (например, в rom ):
Скачиваем нужные нам инструменты в эту папку:
Он преобразует файл system.new.dat в raw-образ с именем system.img . Монтируем образ к подпапке mnt :
Содержимое образа system
Надо ли разархивировать прошивку андроид. Способы прошивки андроида без ПК
Стоит ли распаковывать прошивку
Распаковка прошивки представляет собой непростой процесс, который требует времени и соответствующих навыков, но является весьма актуальным и полезным.
Посредством распаковки пользователь может внести корректировки в работу самых различных элементов установленного программного обеспечения, исключив тем самым возможность появления ошибок, зависаний и многих других неприятных моментов без перепрошивки и замены ПО.
Задумавшись над вопросом, нужно ли распаковывать прошивку Android, вы наверняка найдете пару дополнительных плюсов. Из распакованной прошивки можно извлечь apk-файлы или интегрировать инсталляторы прочих программ.
Виды прошивок и способы их установки
Прошивка Андроид в домашних условиях во многом отличается от инсталляции остального софта. Данный процесс является более трудоемким и связан со многими рисками. При выборе неподходящей версии ПО или нарушении процесса обновления существует вероятность превращения телефона либо планшета в бесполезный « ». Однако узнав, сколько стоит перепрошивка у профессионалов, многие все же решаются сменить версию программного обеспечения самостоятельно.
Для перепрошивки Android не существует единой инструкции, которая бы подошла ко всем моделям мобильных устройств. Здесь все зависит от производителя девайса и того, какой софт планируется установить.
Все прошивки Андроида подразделяются на два вида:
- Официальные. Поставляются непосредственно изготовителями смартфонов и обычно подходят только к определенной марке. Такие программы считаются самыми надежными, поэтому по возможности ими и следует пользоваться.
- Неофициальные (кастомные). Разрабатываются пользователями Android устройств и небольшими фирмами. Они применяются, когда выполняется переустановка Андроид на китайских аппаратах (например, Lenovo, Meizu, Xiaomi и т.п.).
При использовании кастомного ПО существует вероятность установки некачественного обновления, в результате чего гаджет начнет еще больше тормозить. Поэтому скачивать исполняемый файл нужно только после детального прочтения его описания и ознакомления с отзывами пользователей.
Поменять прошивку на Андроид можно несколькими способами:
Как прошить телефон андроид при помощи TWRP Recovery
Для тех, кому по душе больше нравится работа с утилитой в виде TWRP Recovery, предлагается следующая инструкция пошаговой установки обновления в виде ZIP архива:
- Закиньте файл с образом прошивки в память девайса.
- Перейдите в рекавери TWRP. Делается это по аналогии с CWM.
- Выполните сброс до заводских настроек, нажав в главном меню на параметре «Wipe». Перетяните рычажок вправо. По окончанию очистки гаджета вернитесь к исходному лобби, нажимая на клавише «Back».
- В главном лобби выберите пункт «Install» и найдите в древе файловой системы скачанный ранее образ. Нажмите на него, перетянув ползунок в сторону.
- После этого будет запущен процесс прошивки. По стандарту он не превышает 2-3 минут.
- По завершению, утилита автоматически выведет сообщение об удачной перепрошивке. Нажав на пункте «Reboot System», выполните перезагрузку устройства.
Прошиваем Андроид через компьютер
Для примера возьмем прошивку смартфонов от фирмы LG, при этом программой для прошивки Андроид через ПК будет служить Mobile Support Tool . Она находится на официальном сайте производителя. Рекомендуется скачивать только оттуда, чтобы избежать дополнительных проблем с компьютером.
Затем подключается девайс
через шнур USB. Включается через кнопку power и качельку громкости одновременно. Девайс отображается на экране.
Теперь владелец гаджета должен будет открыть вкладку «Дополнительные возможности». Затем рекомендуется нажать на кнопку «Восстановление после ошибки обновления
». Далее приложение приступит к исполнению заданной программы. Оно устраняет все неполадки, которые произошли за время использования.
Если же это не поможет или нет такой кнопки, то рекомендуется использовать кастомные прошивки, сделанные другими пользователями. Либо использовать официальные версии прошивок, которые можно найти в интернете.
Для каждого смартфона существует собственная программа для прошивки Андроида через компьютер, которые обычно можно скачать с сайта производителя. Для Самсунга — Один , для Леново – SP Flash Tools . Для LG, кроме вышеописанной утилиты подойдет KDZ Updater .
Стоит заметить, что с помощью программ FlashTools и ADBRun можно установить Андроид через компьютер на телефон практически любой фирмы и модели.
Все они используются одинаково. То есть, скачивается приложение, устанавливается, подключается телефон, перепрошивается. В итоге получается смартфон с обновленной прошивкой.
Структура каталогов 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, начнем вносить изменения.
Просмотр и модификация
Допустим, ты нашел интересующий тебя пакет, скачал, распаковал… и при попытке просмотра какого-нибудь XML-файла с удивлением обнаружил, что файл не текстовый. Чем же его декомпилировать и как вообще работать с пакетами? Неужели необходимо ставить SDK? Нет, SDK ставить вовсе не обязательно. На самом деле для всех шагов по распаковке, модификации и упаковке пакетов APK нужны следующие инструменты:
- архиватор ZIP
для распаковки и запаковки; - smali
— ассемблер/дизассемблер байт-кода виртуальной машины Dalvik (code.google.com/p/smali); - aapt
— инструмент для запаковки ресурсов (по умолчанию ресурсы хранятся в бинарном виде для оптимизации производительности приложения). Входит в состав Android SDK, но может быть получен и отдельно; - signer
— инструмент для цифровой подписи модифицированного пакета (bit.ly/Rmrv4M).
Использовать все эти инструменты можно и по отдельности, но это неудобно, поэтому лучше воспользоваться более высокоуровневым софтом, построенным на их основе. Если ты работаешь в Linux или Mac OS X, то тут есть инструмент под названием apktool . Он позволяет распаковывать ресурсы в оригинальный вид (в том числе бинарные XML- и arsc-файлы), пересобирать пакет с измененными ресурсами, но не умеет подписывать пакеты, так что запускать утилиту signer придется вручную. Несмотря на то что утилита написана на Java, ее установка достаточно нестандартна. Сначала следует получить сам jar-файл:
$ cd /tmp $ wget https://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2
$ wget https://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2
$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ export PATH=~/bin:$PATH
Если же ты работаешь в Windows, то для нее есть превосходный инструмент под названиемVirtuous Ten Studio , который также аккумулирует в себе все эти инструменты (включая сам apktool), но вместо CLI-интерфейса предоставляет пользователю интуитивно понятный графический интерфейс, с помощью которого можно выполнять операции по распаковке, дизассемблированию и декомпиляции в несколько кликов. Инструмент этот Donation-ware, то есть иногда появляются окошки с предложением получить лицензию, но это, в конце концов, можно и потерпеть. Описывать его не имеет никакого смысла, потому что разобраться в интерфейсе можно за несколько минут. А вот apktool, вследствие его консольной природы, следует обсудить подробнее.
Рассмотрим опции apktool. Если вкратце, то имеются три основные команды: d (decode), b (build) и if (install framework). Если с первыми двумя командами все понятно, то что делает третья, условный оператор? Она распаковывает указанный UI-фреймворк, который необходим в тех случаях, когда ты препарируешь какой-либо системный пакет.
Рассмотрим наиболее интересные опции первой команды:
- -s
— не дизассемблировать файлы dex; - -r
— не распаковывать ресурсы; - -b
— не вставлять отладочную информацию в результаты дизассемблирования файла dex; - —frame-path
— использовать указанный UI-фреймворк вместо встроенного в apktool. Теперь рассмотрим пару опций для команды b: - -f
— форсированная сборка без проверки изменений; - -a
— указываем путь к aapt (средство для сборки APK-архива), если ты по какой-то причине хочешь использовать его из другого источника.
Пользоваться apktool очень просто, для этого достаточно указать одну из команд и путь до APK, например:
$ apktool d mail.apk
После этого в каталоге mail появятся все извлеченные и дизассемблированные файлы пакета.
Удаляем и добавляем приложения
Все предустановленные программы можно найти в двух папках:
Друг от друга они отличаются привилегиями доступа. Если программы из app имеют такие же полномочия, как сторонние программы (например, установленные из Play Store), то приложения из priv-app могут использовать привилегированные API (права privileged). Подробнее об этом можно узнать из нашей статьи.
Для предустановки приложения в прошивку просто кинь ее APK-файл в /system/app/ . Можно, конечно, создать отдельную папку, но в нашем случае в этом нет смысла, потому что папка служит для хранения библиотек и odex-файлов, которых у нас попросту нет. Для удаления просто удали папку с ним.
Можно пойти дальше и поменять стоковые приложения на аналоги. К примеру, для замены календаря удаляем папку Calendar и копируем в /system/app наш любимый com.rpagyc.simplecalendar.apk . А можно и не копировать. Тогда прошивка будет без календаря.
Главное, помни: стоковые программы могут быть связаны между собой. Поэтому удаление одной проги вполне может привести к полной неработоспособности другой (к примеру, CalendarProvider и Calendar: удалив первый, ты сделаешь неработоспособным не только стоковый, но и любой другой календарь). К счастью, в чистых AOSP-прошивках взаимосвязей не так много.
Введение.
1.1. Назначение.
Средство MTwinTools предназначено для разборки/сборки образов устройств на основе чипов MT.
Оно построено для использования в командной строке по мотивам средства RKwinTools, предназначенного для работы с устройствами на чипах RK29xx-RK31xx, и некоторых свободно распространяемых программ.
Работает только под Windows 7 и выше без установки CYGWIN, а также не требует никаких дополнительных прописок путей в переменных среды ОС.
Средство позволяет:
- распаковать и запаковать образ Boot.img;
- распаковать и запаковать образ Recovery.img;
- распаковать и запаковать образ Kernel.img;
- распаковать и запаковать образ System.img, как yaffs типа, так и ext2-ext4;
- конвертировать разреженный файл типа sparse в образ типа ext4;
- подсчитать контрольную сумму файла в формате md5;
- инициировать SuperUser.
1.2. Инсталляция средства MTwinTools. Инсталляция средства производится путем распаковки архива в любом удобном для Вас месте. При этом будет создана папка MTwinTools, содержащая:
- папки _In/, App/ и Cygwin/;
- а также файлы Readme.txt, и menu.bat.
Папка _In пустая и предназначена для размещения исходных образов для обработки. Папка App/ содержит набор командных файлов, производящих обработку образов. В папке Cygwin/ находятся свободно распространяемые служебные библиотеки и файлы. Файл Readme.txt содержит инструкцию пользователя, т.е. читаемый Вами сейчас текст. Файл menu.bat служит для создания меню средства MTwinTools.
ВНИМАНИЕ. Никакого прописывания путей доступа к служебным файлам в переменных среды ОС Windows НЕ ТРЕБУЕТСЯ.
Во время работы появятся и другие, необходимые папки:
- Pack, в которой будут находиться файлы Boot, Recovery и System после запаковки, папка md5, содержащая файлы с контрольной суммой, а также папка Firmware, в подпапке Image которой будут находиться собранные файлы Boot, Recovery и System;
- Unpack, в которой ПОЛНОСТЬЮ распакованные файлы Boot, Recovery и System будут находиться в папке Firmware, в подпапке Image.
1.3. Деинсталляция средства MTwinTools.
Деинсталляция средства производится путем удаления корневой папки средства, т.е. папки MTwinTools.
Меняем анимацию загрузки
Анимация хранится в виде PNG-картинок, упакованных в архив /system/media/bootanimation.zip без сжатия. Внутри архива находятся:
- desc.txt — файл, описывающий анимацию;
- part0 — папка с файлами анимаций, которые воспроизводятся первыми;
- part1 — папка с файлами анимаций, которые воспроизводятся вторыми;
- .
- part? — крайняя папка, изображения с которой воспроизводятся в конце.
Файл desc.txt может содержать нечто вроде
Назначение этих строк интуитивно понятно: 1920 × 1080 — разрешение картинки, 60 — число кадров в секунду. Part0 и part1 указывают на папки, из которых будет воспроизводиться анимация, и последовательность воспроизведения. Вообще, может быть как одна часть, так и несколько (три и больше).
Изображения, находящиеся в папках part, пронумерованы пятью цифрами в порядке воспроизведения: 00000.png , 00001.png , 00002.png . Эти изображения можно поменять на свои, тем самым создав оригинальную анимацию. А можно просто удалить файл bootanimation.zip . Тогда девайс будет показывать анимацию из стандартного Android. Или воспользоваться уже готовой коллекцией анимаций на 4PDA.
Четыре части в bootanimation.zip для LineageOS
Список программ для прошивки
Оставим список программ для перепрошивки Андроид, с активной ссылкой на скачивание:
- ABD tools,
- Odin,
- SP FlashTool,
- Lenovo Downloader,
- KDZ Updater,
- LG Flash Tool,
- Sony PC Companion,
- MiFlashPro,
- ASUS Flash Tool,
- Qualcomm Flash Image Loader,
- QPST Flash Tool,
- Wileyfox Flash Tool,
- Qualcomm Smartphone Multi-Port Software Upgrade Tool,
- Smart Phone Upgrade Tool,
- FastbootFlasher,
- Firmware Factory Tool,
- Infinix Flash Tool.
Изменяем звуковое оформление
Фактически все звуки, которые воспроизводит система, хранятся в папке /system/media/audio . Внутри нее ты найдешь следующие папки:
- alarms — мелодии будильника;
- notifications — звуки уведомлений;
- ringtones — мелодии звонка;
- ui — системные звуки, например низкий заряд батареи, фокусировка камеры, выбор элементов интерфейса.
В alarms, notifications, ringtones можно накидать сколько угодно любых мелодий. Взять их можно, например, здесь:
И маленький лайфхак: удаление файлов из папки ui приведет не к сбоям и ошибкам, а к исчезновению системных звуков. Поэтому ты можешь легко отключить звук создания снимка с камеры, снятия скриншота, просто потерев содержащие эти звуки файлы (их имена интуитивно понятны).
Меняем системные настройки (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).
Проверка загрузчика
Первое, что нужно сделать, прежде чем прошивать Андроид, – убедиться, что проблема имеет программный характер. Нажмите кнопку Power: если телефон проявляется хоть какие-то признаки жизни (щелкает, горит логотип, завис робот, восклицательный знак), то загрузчик исправен. Значит, можно прошить смартфон, и он дальше будет работать.
p, blockquote 5,0,0,0,0 —>
p, blockquote 6,0,0,0,0 —>
Даже если при нажатии кнопки питания ничего не происходит, паниковать рано. Подключите устройство к компьютеру через USB и нажмите кнопку питания или сочетание «Power» и клавиши уменьшения громкости.
p, blockquote 7,1,0,0,0 —>
Если компьютер увидит подключенный телефон, значит, его можно прошить – главное знать, как самому это сделать. Если никаких признаков жизни смартфон не подает, несите его в сервисный центр. Вероятно, устройство не включается из-за аппаратных неполадок, устранение которых требует вмешательства компетентного специалиста.
p, blockquote 8,0,0,0,0 —>
Если для устройства есть новая прошивка, появится предложение ее загрузить.
Если для устройства есть новая прошивка, появится предложение ее загрузить.
Если новой прошивки пока нет, на экране появится сообщение: «Последние обновления уже установлены».
Если устройство рутировали или изменяли прошивку, появится надпись: «Устройство изменено». Чтобы обновить прошивку на таком устройстве, обратитесь в сервисный центр Samsung.
Когда все действия выполнены, гаджет перезагружается и перепрошивается. Обычно это занимает 10 минут, но может потребоваться как больше, так и меньше времени, в зависимости от марки устройства.
Внедряем в прошивку Google Apps
Почти всегда кастомные прошивки поставляются без сервисов Google и магазина приложений. Разработчики предлагают нам установить их отдельно с помощью пакета GApps. Однако его можно интегрировать прямо в прошивку.
Для начала необходимо скачать пакет GApps. Я рекомендую брать архивы Open GApps. Выбираешь версию Android, архитектуру процессора и вариант комплектации (Pico, Nano, Stock. ), который определяет, сколько различных приложений Google содержит архив. Я рекомендую скачать версию Pico. Она содержит только Play Store и набор необходимых для его работы библиотек.
Интеграция GApps в прошивку выполняется так:
- Распаковываем ZIP-архив GApps с помощью любого архиватора.
- Переходим в папку Core.
- Видим множество архивов с расширением .tar.lz . Извлекаем с помощью lzip.
- После распаковки копируем файлы из папок в соответствующие папки в system. Что куда кидать, нетрудно догадаться по структуре каталогов в архиве. Например, configupdater (со скриншота) нужно кидать в папку priv-app .
- Переходим в папку GApps (находится рядом с Core) и проделываем пункты 3 и 4 для файлов в ней.
- Все, мы интегрировали GApps в нашу прошивку!
Структура каталогов configupdater-all.tar.lz
Свободное место
Необходимо понимать, что место для установки прошивок ограниченно. Нельзя установить прошивку, размер которой перевешивает размер раздела system устройства. Посмотреть его значение можно, используя ADB:
Инфа о разделе system
Второй вариант: поставить на устройство терминал и набрать команду
Размер раздела в байтах можно узнать, установив на смартфон BusyBox и выполнив в терминале команду
Или то же самое с помощью ADB:
Место, занимаемое прошивкой, будет приблизительно равно размеру 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/ — офлайн-языки. Можно будет скачать потом онлайн, если понадобится.
Возможные проблемы после обновления Андроида
Обновления Андроида не всегда улучшают жизнь владельцу устройства
Не сказать, что апгрейд Android напрочь испортит жизнь владельцу устройства, но минуты головной боли доставит гарантированно.
После обновления с рабочего стола периодически пропадают некоторые ярлыки, а вместе с ними и программы.
В других же случаях после модификации системы пользователь обнаруживает новые, совсем не обязательные программы, которые невозможно удалить.
Рассмотрим приложения для удаления рут прав более подробно. Как уже говорилось, приложение SuperSU поможет, если в устройстве не стоит сторонняя прошивка. После запуска SuperSU, откройте вкладку «настройки» и прочитав подробно высветившейся окошко, жмите «продолжить». После процесса удаления рут прав, перезагрузите устройство. Второе приложение Universal Unroot работает по такому же принципу, но действует более эффективно.
Далее мы будем подробно разбирать как удалить root права на андроиде. Существует несколько способов удаления. Рассмотрим каждый из них. Первый способ: удаление вручную или с помощью файлового менеджера. Файловый менеджер необходим для доступа в корневую систему Android-устройства. Самые известные из них – это: Root Browser, Х-Plore File Manager и ES File Explorer. Помимо файлового менеджера, понадобится приложение Root Checker. Все это можно бесплатно скачать в Play Market.
Если даже после такого радикального способа удаления рут прав, остались какие-то «глюки», нужно выполнить полный сброс настроек к заводским, который присутствует в каждой модели с ОС Андроид.
Может ли root навредить устройству? Да. Однако не стоит пугаться. Такое возможно только в тех случаях, когда владелец девайса получает права при помощи вирусного ПО. Следовательно, телефон заражается «изнутри». Поэтому стоит быть осторожным.
Сборка
После внесения изменений нужно собрать все обратно. Сначала запакуем раздел system в system.new.dat . Скачиваем нужные нам инструменты:
Преобразовываем нашу папку обратно в RAW-образ. Назовем его system_new.img :
1073741824 меняем на размер раздела system в байтах. Желательно даже сделать его чуть меньше. Делаем из RAW-образа sparse-образ:
Преобразуем наш образ в system.transfer.list и system.new.dat , которые и нужно кидать в архив с прошивкой, но сначала удалим старые файлы:
Отделим файлы прошивки от лишней шелухи (файлов, которые мы загружали для работы. Для этого удобно пользоваться архивом с прошивкой). Удалили? Теперь нужно запаковать прошивку в ZIP-архив (любым архиватором).
Осталось подписать архив. Сделать это можно как на самом Android с помощью ZipSigner, так и на ПК (потребуется установленная Java):
Подводные камни
Во время сборки system.new.dat ты можешь столкнуться с несколькими проблемами, вызванными постоянными изменениями в механизмах формирования прошивок Android. Описанный выше способ должен хорошо сработать в случае основанной на Android 5.1 прошивки, в более новых могут возникнуть сложности, так что потребуется использовать другие версии инструментов сборки. К сожалению, мы не можем описать все нюансы сборки, поэтому, возможно, придется погуглить.
IMG как файл прошивки оборудования
Так же IMG формат используется многими производителями различного аппаратного обеспечения, для распространения обновлений прошивок. Если ваш файл IMG имеет маленький размер, и у вас есть основания полагать, что это не образ дискеты, то это тот случай. При этом информацию, чем открыть файл прошивки IMG для каждого конкретного случая следует искать на официальном сайте производителя оборудования.
При обновлении IMG прошивок оборудования следует строго придерживаться официальных инструкций производителя – в худшем случае при их несоблюдении придется ехать в сервисный сервис. Поэтому не стоит доверять инструкциям по прошивкам оборудования на сторонних сайтах.
Выводы
Эта статья описывает лишь верхушку огромного айсберга под названием «модификация прошивок». «Серьезные» прошивки не только дополняют ядро и саму прошивку со стоковыми приложениями множеством функций (которые зачастую вырваны из других ядер и прошивок), организовывая или даже меняя принципы их взаимодействия, но и вполне могут кардинально менять принципы работы ОС. Правда, такая поделка — это уже не Android, а отдельная ОС, даже если Play-сервисы получится туда поставить (кстати, такие действия, мягко говоря, не поощряются Google). Ну и не забываем: все оболочки от производителей — TouchWiz, ZenUI, HTC Sense и так далее — всего лишь обычные кастомы, максимально привязанные к железу устройства и друг к другу.