Мод прошивка своими руками. Как извлечь APK файлы с IMG (Разбираем прошивку Android) Прошивка img как прошить

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

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

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

Каждое действие с собственными Андроид-устройствами пользователь осуществляет на свой страх и риск. За возможные негативные последствия использования методов, описанных на данном ресурсе, администрация сайта ответственности не несет!

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

Установка драйверов

О том, как установить специальный драйвер для фастбут-режима, можно узнать из статьи:

Бэкап системы

Если существует малейшая возможность, перед прошивкой обязательно осуществляется создание полной резервной копии существующих разделов памяти устройства. Необходимые для создания бэкапа действия описаны в статье:

Загрузка и подготовка необходимых файлов

Fastboot и являются взаимодополняющими друг друга инструментами из состава Android SDK. Загружаем инструментарий полностью или скачиваем отдельный пакет, содержащий только АДБ и Фастбут. Затем распаковываем полученный архив в отдельную папку на диске С.

Через Fastboot возможна запись как отдельных разделов памяти Андроид-девайса, так и прошивок-обновлений целым пакетом. В первом случае понадобятся файлы-образы в формате *.img , во втором – пакет(ы) *.zip . Все файлы, которые планируются к использованию, должны быть скопированы в папку, содержащую распакованные Fastboot и ADB.

Пакеты *.zip не распаковываем, необходимо лишь переименовать загруженный файл(ы). В принципе имя может быть любым, но не должно содержать пробелов и русских букв. Для удобства следует использовать короткие имена, к примеру update.zip . Кроме прочего необходимо учитывать тот фактор, что Fastboot чувствителен к регистру букв в посылаемых командах и именах файлов. Т.е. «Update.zip» и «update.zip» для фастбут — разные файлы.

Запуск Fastboot

Поскольку Fastboot является консольным приложением, работа с инструментом осуществляется при помощи введения команд определенного синтаксиса в командную строку Windows (cmd). Для запуска Фастбут проще всего использовать следующий метод.


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


Разблокировка загрузчика

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

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

fastboot oem device-info

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

Запись файлов в разделы памяти девайса

Завершив подготовительные процедуры, можно переходить к процедуре записи данных в разделы памяти устройства. Еще раз перепроверяем корректность загрузки файлов-образов и/или zip-пакетов и их соответствие прошиваемому устройству.

Внимание! Прошивка некорректных и поврежденных файл-образов, а также образов от другого девайса в устройство приводит в большинстве случаев к невозможности загрузки Android и/или другим негативным для аппарата последствиям!

Установка zip-пакетов

Для записи в девайс, к примеру OTA-обновлений, или полного комплекта составляющих ПО, распространяемых в формате *.zip , используется fastboot-команда update .


Запись img-образов в разделы памяти

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

А вот возможность прошивки отдельных образов в соответствующие разделы, в частности «boot» , «system» , «userdata» , «recovery» и др. через Fastboot при восстановлении аппарата после серьезных программных проблем, может спасти ситуацию во многих случаях.

Для прошивки отдельного образа img используется команда:

fastboot flash наименование_раздела имя_файла.img




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

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

  • Распаковываем архив с прошивкой в любую папку.
  • Качаем скрипт по ссылке и разархивируем в любую папку.
  • Запускаем файл ext (если будет ругаться на отсутствие Java, просто пропусти, нажав y ; Java нужна только для запаковки).
  • Теперь выбираем распаковку, нажав кнопку 1, а затем Enter.
  • Новая папка с именем extract_* появится рядом с файлом ext и папкой tools . Копируем в нее файлы system.new.dat и system.transfer.list .
  • После копирования файлов нажимаем Enter и ждем. Через некоторое время нужно будет опять нажать Enter, ввести пароль администратора и еще раз тапнуть Enter.
  • Готово. Содержимое 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

    Структура каталогов 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 .

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

    Фактически все звуки, которые воспроизводит система, хранятся в папке /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 некоторые строки продублированы, но ключи (название смартфона и так далее) в них другие. Это было сделано, чтобы обеспечить более-менее корректную работоспособность одной и той же прошивки на разных аппаратах.


    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 в прошивку выполняется так:

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

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

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

    $ adb shell df /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 и так далее - всего лишь обычные кастомы, максимально привязанные к железу устройства и друг к другу.

    Думаю практически у каждого пользователя андроид смартфона появлялось желание создать (отредактировать) прошивку под свои нужды и желания.
    Так вот в данной статье мы и рассмотрим принцип редактирования прошивки для CWM (в zip формате)

    Подготовка:

    В первую очередь необходимо определиться какую прошивку будем брать за основу. Я советую использовать офф. прошивку в зипе. Почти для каждого распространённого девайса существует чистая прошивка + root.
    (я буду отталкиваться именно от данного варианта)
    - Когда жертва (прошивка) выбрана её необходимо скачать в любое удобное вам место на ПК (распаковывать не стоит)
    - Также нам потребуется архиватор, советую использовать и лучший в своём роде текстовый редактор .


    ---
    что да как:


    META-INF
    system
    boot.img - ядро системы

    system
    её структура:
    app - системные приложения
    bin - ресурсы самой системы
    etc
    fonts - Системные шрифты
    framework
    lib - библиотеки системы
    media
    usr
    xbin
    build.prop


    ---
    Приложения


    -Добавляем софт в прошивку:

    data/app .so .
    system/app system/lib .
    -Удаляем софт из прошивки:
    app


    ---
    Язык и версия прошивки

    Копируем файл build.prop на рабочий стол. Открываем его блокнотом и находим строчки

    ro.product.locale.language=en
    ro.product.locale.region=US


    для русского языка необходимо сделать так:

    ro.product.locale.language=ru
    ro.product.locale.region=RU


    название своего мода вписываем в строку

    в том же build.prop

    ---
    графика

    Вся графическая часть прошивки хранится в двух файлах
    framework-res.apk путь к файлу systemframework и SystemUI.apk по пути systemapp. А графическая часть приложения настройки хранится естественно в приложении Settings.apk.
    Принципы распаковки, редактирования и сборки файлов с расширением.apk можно изучить .


    ---
    Скрипты и твики (ускорение и оптимизация системы)

    Большая часть настроек проводится в файле build.prop , по этому поводу есть .
    Так же если ваше ядро поддерживает init.d (об этом можно узнать на форуме о вашем девайсе) есть ряд скриптов для оптимизации системы, один из них описан и в данной статье


    ---
    Замена шрифтов системы

    Как выше излагалось все шрифты содержаться в папке fonts , основные шрифты это: DroidSans.ttf и DroidSans-Bold.ttf их можно заменить любыми шрифтами из нашего сайта переименовав их аналогично вышеуказанным и переместить с заменой в архив с прошивкой в папку fonts .


    ---
    Ядро

    Теоритически достаточно заменить boot.img своим, НО в некоторых случаях Ядра сопровождаются дополнительными скриптами.
    По этому советую ничего не делать если есть какие либо сомнения.


    ---
    Полезные ссылки:
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Адекватная критика и дополнения приветствуются


    pan_ataman pan_ataman

    2013-05-20T14:06:49Z 2013-05-20T14:06:49Z
    ---
    что да как:

    Открывая архив с прошивкой вы видите следующее:
    META-INF - в папке хранятся скрипты установки прошивки
    system - папка со всеми файлами прошивки (приложения, твики, скрипты и т.д.)
    boot.img - ядро системы

    Практически все манипуляции проводятся в папке system
    её структура:
    app - системные приложения
    bin - ресурсы самой системы
    etc - Скрипты, твики, конфиги, профили и настройки системы
    fonts - Системные шрифты
    framework - здесь хранятся главные файлы системы (графика, настройки текста анимации и т.д)
    lib - библиотеки системы
    media - файлы мультимедиа (мелодии уведомлений, анимация загрузки, обои и т.д)
    usr - настройки не изменяемые в дальнейшем системой (работают в режиме "только чтение")
    xbin - опять же системные конфиги и прочие твики
    build.prop - инфа о системе, настройки локали и производительности системы.


    ---
    Приложения

    Перед тем как добавлять/удалять софт в систему, необходимо проверить деодексирована ли ваша прошивка (то есть проверить наличие файлов.odex в папке app. Если оные в наличии, то необходимо от них избавиться по .
    -Добавляем софт в прошивку:
    Прежде всего необходимо установить себе в смарт те программы которые вы хотите добавить в сборку.
    После установки достаём их из системы при помощи Root Exporer и его аналогов, находятся они по пути data/app , так же нам понадобятся их либы (если они конечно есть) они находятся по пути data/data. Находятся они в одноимённой приложению папке и имеют расширение .so .
    Затем изъятые.apk файлы кладем в архив по пути system/app и файлы с расширением.so (lib"ы) по пути system/lib .
    -Удаляем софт из прошивки:
    Тут всё просто, заходим в папку app - определяемся что нам не нужно и удаляем весь ненужный софт (систему лучше не трогать)


    ---

    Необходимо прошить Android c помощью FastBoot, но не знаете как? В этой статье дается детальная инструкция по использованию утилиты FastBoot, как ей пользоваться, откуда скачать и как прошить Android девайс.

    Данная инструкция полностью расскажет как пользоваться FastBoot! Как с помощью Fastboot очищать разделы, прошивать IMG файлы, выполнять перезагрузку и многие другие.

    Скачивание и установка FastBoot

    Прежде прошить Android c помощью FastBoot, необходимо скачать эту утилиту и установить на необходимый компьютер:

  • Скачать FastBoot можно со страницы разработчиков Android в комплекте platform-tools .
  • Либо воспользоваться программой Adb Run , точней лучше , в которой «все включено», а также умеет разблокировать графический ключ Android .
  • Почему ADB RUN лучше?

    Запуск утилиты Fastboot

    В зависимости что вы выбрали, скачали отдельно утилиту fastboot или выбрали adb run, запуск может отличаться!

    Если скачали Отдельно Fastboot

    Извлеките файлы:

  • adb.exe
  • AdbWinApi.dll
  • AdbWinUsbApi.dll
  • fastboot.exe
  • libwinpthread-1.dll
  • Переместите их на диск C:\, папка Windows. Вам удалось установить ADB и Fastboot на ваш компьютер!

    После того как Вы скачали и установили FastBoot, откройте на ПК программу «Командная строка» .

    Пример запуска командной строки Windows

    Пример установки ADB и Fastboot.

    Если скачали ADB RUN

    Если ваш выбор пал на фирменную программу ADB RUN , то запустите ее, наберите кнопку A и нажмите Enter.

    Файлы которые необходимо прошить желательно разместить в одной папке с утилитой Fastboot.

    Инструкция как прошить Android c помощью FastBoot

    Очень важно писать команды и файлы прошивок так как они указаны!

    Если у вас указана команда:

    fastboot flash cache NazvaniAFiLe.img

    то нужно писать именно так, а ни как иначе. Другими словами важен регистр букв иначе вы получите — нет такого файла.

    Команды перезагрузки
    Fastboot в режим прошивки (bootloader)
    • Для того чтобы начать работать с устройством Android с помощью Fastboot для начала необходимо, перевести смартфон или планшет в режим bootloader с помощью adb:

    adb reboot bootloader

    • Перезагрузка Android из режима прошивки (bootloader) в этот же режим:

    fastboot reboot-bootloader

    • Перезагрузка Android из режима прошивки bootloader в режим bootloader:

    fastboot reboot-bootloader

    • Перезагрузка Android в обычный режим из режима прошивки bootloader:

    fastboot reboot

    Команда «видит» ли ПК ваш Android

    Возьмите в привычку перед тем как что-то делать в Fastboot, проверять есть ли соединение между компьютером и Android:

    • Проверка «видит ли» ПК ваш Android:

    fastboot devices

    Данную команду необходимо выполнять когда устройство уже в режиме прошивке (bootloader)

    Команды разблокировки и блокировки загрузчика Google Pixel, Nexus в Fastboot
    • Разлочить bootloader для Pixel, Nexus:

    fastboot oem unlock

    fastboot flashing unlock

    • Залочить bootloader для Pixel, Nexus:

    fastboot oem lock

    Команда узнать версию bootloader

    Покажет установленную на Android номер версии бутлоадер:

    fastboot getvar version-bootloader

    Команды форматирования раздела в Fastboot

    Перед тем как прошить какой-либо раздел в Android, вначале его необходимо отформатировать для того чтобы не возникло проблем в работе

    fastboot erase Imya_razdela — стереть раздел: boot, radio, recovery, system, userdata и другие.

    • Стирает раздел Кеш (Cache) в Fastboot:

    fastboot erase cache

    • Стирает раздел Дата (Data/UserData) в Fastboot:

    fastboot erase userdata

    • Стирает раздел Систем (System)в Fastboot:

    fastboot erase system

    • Стирает раздел Recovery в Fastboot:

    fastboot erase recovery

    Команды для прошивки разделов Android в Fastboot

    После того как выполнили форматирование раздела или разделов Android, можно переходить к следующему шагу, прошивке:

    fastboot flash Imya_razdela imya_file.img — прошивка выбранного раздела: boot, radio, recovery, system, userdata и другие.

    • Прошить раздел системы (System):

    fastboot flash system imya.img

    • Прошить раздел кеш (Cache):

    fastboot flash cache imya.img

    • Прошить раздел дата (Data):

    fastboot flash userdata imya.img

    • Прошить раздел Recovery:

    fastboot flash recovery imya.img

    • Прошить все разделы (boot, recovery и system):

    fastboot flashall

    Команда для установки update.zip

    Прошивает на Android архив-обновление в формате update.zip — архив ZIP с IMG образами различных разделов:

    fastboot update имя_файла.zip

    Для устройств Sony

    Проверка подключения устройства Sony, если ответ 0.3 устройство, то тогда подключено:

    fastboot.exe -i 0x0fce getvar version

    Разблокировка bootloader

    fastboot.exe -i 0x0fce oem unlock 0xПолученый_Ключ

    Более детальная информация по разблокировке Bootloader Sony — Как разблокировать Bootloader Sony

    Ошибка Waiting for Device

    Если у вас долгое время в командном окне горит надпись waiting for device — значит:

    • Не установлен или некорректно установлен драйвер — переустановить или установить
    • Устройство Android не в режиме Bootloader — перевести
    • Некорректное подключение к USB порту — использовать задние порты USB 2.0 компьютера, не использовать USB хабы
    Видео пример работы с утилитой Fastboot
    Для тех кто ничего не понял!

    Для тех кто ничего не понял, то тогда воспользуйтесь фирменным приложением ADB RUN , в данной программе введены практически все команды, которые нужны для FASTBOOT!

    Ниже представлен пример работы ADB RUN — как прошить быстро файл Recovery с помощью ADB RUN за менее чем за 5 секунд (только не забывайте вначале переводить в режим bootloader)!

    Вот и все! Больше статей и инструкций читайте в разделе Статьи и Хаки Android . Оставайтесь вместе с сайтом , дальше будет еще интересней!

    Для тех кто хочет начать путь в создание собственных прошивок для Sony на основе официальных необходимо знать как распаковать прошивку Sony формата FTF.

    Что необходимо?

    1. Компьютер

    2. Скачать последнюю версию не официального прошивальщика FlashTool и установить

    3. Скачать менеджер Unix образов ext2explore.exe

    3. Скачать и установить бесплатный архиватор 7-zip

    4. Прошивка Sony формата FTF

    Инструкция как распаковать прошивку Sony формата FTF

    1. Правым кликом мыши по FTF прошивке — открыть архив или распаковать из архива

    2. После того как установили FlashTool перейдите по пути C:Flashtool
    3. Запустить программу FlashTool и в панели выбрать меню Tools -> Sin Editor

    4. Выберите извлеченный из прошивки ftf, файл sin в Sin Editor и нажать Extract data. После этого начнется процесс преобразования файла прошивки в читаемый вид.
    5. На выходе вы можете получить новый файл с расширением yassf2 или ext4 или elf

    Если файл *.yassf2

    Выбрать Tools -> Yaffs2, после чего появится окно для выбора файла, выбрать файл с расширением *.yasff2

    Через пару минут вы получите папку с файлами которые находились в прошивке

    Если файл *.ext4 или *.elf

    1. Если у вас файл с расширением *.elf , то переименовать в *.ext4

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

    Что дальше?

    Если вы планируете в дальнейшем создать прошиваемый update.zip, то стоит перейти к статье — создание Updater Script

    Как правильно извлечь ядро из FTF прошивки?

    Для того того чтобы получить «правильное» ядро для прошивки с помощью update.zip потребуется все тот же Flashtool.

    1. Откройте FTF прошивку архиватором и извлеките kernel.sin