• Прошивки и обновления на Android — Что? Где? Когда? Зачем? Кастомный Android: делаем свою прошивку из стоковой, не копаясь в исходниках Видео пример работы с утилитой Fastboot.

    14.12.2021

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

    Данная инструкция полностью расскажет как пользоваться FastBoot! Если же вы не знаете как устанавливать архивные обновления то вам необходима статья - Clockwordmod - что это такое. Инструкция по CWM recovery с картинками

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

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

    1. Скачать утилиту FastBoot можно с официальной программой Android SDK (большой вес)

    почему ADB RUN лучше

    {rutube}35ab1de9e0bba7da32b643d19a14c9f0{/rutube}

    Запуск

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

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

    и введите команды для перехода в папку с утилитой Fastboot (если установили отдельно FastBoot )

    cd /
    cd adb

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

    Если ваш выбор пал на программу ADB RUN, то запустите ее и выберите в меню Manual -> ADB

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

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

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

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

    fastboot flash cache NazvaniAFiLe.img

    то нужно писать именно так, но ни как иначе. Другими словами важен регистр букв иначе вы получите ошибку cannot load ‘image’ - нет такого файла.

    Команды перезагрузки в режим прошивки (bootloader)

    fastboot reboot-bootloader

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

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

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

    fastboot devices

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

    Команды разблокировки и блокировки загрузчика Nexus

    Разлочить bootloader для Nexus

    fastboot oem unlock

    Залочить bootloader для Nexus

    fastboot oem lock

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

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

    fastboot getvar version-bootloader

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

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

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

    Стирает раздел Кеш (Cache)

    fastboot erase cache

    Стирает раздел Дата (Data)

    fastboot erase userdata

    Стирает раздел Систем (System)

    fastboot erase system

    Стирает раздел Recovery

    fastboot erase recovery

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

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

    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

    Установка анимации включения (прошивка раздела с анимацией)

    fastboot flash splash1 splash.img

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

    fastboot flashall

    Вместо imya.img - необходимо прописывать имя файла которые вы собираетесь прошить

    Команда для установки 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

    {rutube}681e46fc831b35f60bc992ed023e85cc{/rutube}

    Для тех кто ничего не понял!

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

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

    В этой статье мы расскажем, как перепрошить Андроид. Для чего нужна перепрошивка андроида и так ли сложно прошить Android? Телефоны, смартфоны и планшетные компьютеры перепрошиваются чтобы получить больший функционал операционной системы. Но многие, кто сталкивается с этой операцией впервые, не знают, как прошить планшет андроид или как тоже самое сделать на другом гаджете.

    Например, начиная с Android 4 в ОС по умолчанию входит голосовое распознавание речи от Google . В общем, перепрошить Android стоит для общего или если в работе планшета или смартфона есть серьезная проблема. Давайте разберемся, как прошить Андроид правильно и что для этого нужно.


    Как прошить Android

    Большинство моделей устройств и таких производителей, как ASUS , Acer , Samsung , Ritmix , Alcatel , Explay , Digma , Fly , HTC , Huawei , LG , Motorola и SonyEricsson можно прошить. Прошивка Андроид вещь ответственная, поэтому сперва нужно подготовиться. Если Вы решили перепрошить андроид-планшет или смартфон, то сперва сделайте следующее:

    • Убедитесь, что устройство заряжено и не отключится во время перепрошивки. Лучше пусть это будет 100% заряд.Это важный пункт, поскольку если планшет или смартфон отключится когда его прошивают, это приведет к потере системы и данных.
    • Уточните версию ОС вашего гаджета и какая прошивка на нём установлена на текущий момент. Это можно посмотреть в «Настройки» > «О телефоне». Версия Аndroid, версия ядра и номер сборки расскажут, какая именно операционная система установлена сейчас.
    • После это нужно найти новую прошивку для вашей модели смартфона или планшетного компьютера и скачать её.

    Итак, из нашей публикации Вы узнаете:

    • Как установить пользовательские ROM файлы.
    • Как создать резервную копию текущей системы и состояния телефона до момента перепрошивки.
    • Как откатить прошивку на Android.

    Немного о custom-прошивках

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

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

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

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

    Прошивка Андроид из ZIP архива

    Первое, что нужно чтобы перепрошить Андроид — . К сожалению, не на всех устройствах это возможно сделать и добравшись до рут досупа, Вы потеряете гарантию, как впрочем и при прошивке. Далее делаем backup. Мы уже писали, . То есть для прошивки необходимо:

    • Установить на Android приложение для восстановления системы, например ClockWorkMod . Это программа для прошивки андроида. О recovery приложениях можно прочитать . С помощью них можно откатить всё обратно, если что-то пойдёт не так.
    • Скачать официальную или пользовательскую ROM-версию, которая была разработана и портирована для вашего устройства.
    • Карта памяти MicroSDHC для временного хранения файлов прошивки.

    Резервное копирование системы с помощью ClockWorkMod делается так:

    1. Запускаем ClockWorkMod Recovery.
    2. Выбираем «Backup & restore».
    3. Далее «backup».
    4. Подтверждаем «YES».
    5. Перезагружаемся, нажав «Reboot system now».

    После данных действий на карте памяти должна появиться резервная копия в папке «clockworkmod/backup». Название резервной копии состоит из даты и времени создания. Итак, бэкап сделали, рут открыли, карту вставили — можно приступать к перепрошивке:

    1. После загрузки файла ROM записываем его на карту памяти. Имя прошивки может содержать латинские буквы и цифры. Сам файл должен находиться в ZIP архиве.
    2. Отключите гаджет от компьютера и зарядки.
    3. Выключите устройство и (как именно запускать, зависит от конкретного устройства). Если вы не знаете, как загрузить меню восстановления меню вашего Android устройства, то нужно искать способ запуска или спросить здесь в комментариях.
    4. Далее в меню нужно найти пункт «Wipe», который стирает текущую информацию о системе.
    5. После стирания возвращаемся в корень меню и выбираем рункт «Flash Zip from SD Card» или «Install zip from sdcard». Текст может отличаться, в зависимости от приложения, но суть одна — прошивка из ZIP архива.
    6. Найдите ROM прошивку, которая находится в Zip-файле.
    7. Подтвердите прошивку, следуя инструкциям на экране.
    8. Если во время процедуры прошивки ошибок нет, то всё прошилось и можно перезагрузить устройство, выбрав пункт «Reboot system now» в корне меню.

    Как перепрошить Android с трехфайловой прошивкой

    Прошивать трёх-файловые прошивки можно с помощью приложения Mobile Odin Pro . Это ещё одна программа для перепрошивки Android. При прошивке этим способом можно не открывать ROOT доступ. Итак, перепрошить Android с трех-файловой прошивкой можно так:

    1. Записываем файлы на смартфон или планшет (три файла со словами в названиях CSC, CODE, Modem). Лучше все три файла положить в одну папку.
    2. В появившемся окошке нужно найти и выбрать файл со словом «CODE».
    3. После выбора нажимаем «ОК».
    4. Далее нужно выбрать раздел «Modem».
    5. В появившемся окошке нужно найти и выбрать файл со словом «Modem».
    6. После выбора нажимаем «ОК».

    Как прошить Андройд из TAR архива

    Существуют ещё прошивки, которые запакованы в.TAR архив. В принципе, всё так же, как и в предыдущей инструкции. С такими прошивками телефон можно перепрошить так (снова понадобится Mobile Odin Pro ):

    1. В Mobile Odin Pro выбираем «Open file».
    2. В появившемся окошке находим и выбираем нашу прошивку, то есть файл формата.tar или.tar.md5, который ранее записали в созданую папку «Firmware».
    3. После выбора нажимаем «ОК».
    4. Далее нужно проверить, что во всех разделах есть данные.
    5. После проверки нажимаем «Flash Firmware».
    6. Ждём когда перепрошивка закончится, операция может длиться десять и более минут.
    7. Если во время прошивки появилась просьба перезагрузить устройство, то нужно нажать центральную кнопку.

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


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

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

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

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

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

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

    Почему ADB RUN лучше?

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

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

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

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

    1. adb.exe
    2. AdbWinApi.dll
    3. AdbWinUsbApi.dll
    4. fastboot.exe
    5. libwinpthread-1.dll

    Переместите их на диск C:\, папка Windows. Вам удалось установить ADB и Fastboot на ваш компьютер!

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

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

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

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

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

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

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

    Под прошивкой Android в Fastboot подразумевают прошивку отдельных файлов, для разных блоков памяти устройства (system, data, boot).

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

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

    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 (Fastboot Erase)

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

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

    fastboot erase cache

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

    fastboot erase userdata или fastbot -w

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

    fastboot erase system

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

    fastboot erase recovery

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

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

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

    fastboot flash system imya.img

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

    fastboot flash cache imya.img

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

    fastboot flash userdata imya.img

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

    fastboot flash recovery imya.img

    Вместо 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 Sony

    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 . Оставайтесь вместе с сайтом , дальше будет еще интересней!

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

    Операционная система Android – это прекрасная операционная система, динамично развивающаяся, но иногда не совсем понятная. Вот например если дать новичку какой нибудь Android смартфон и прилагающиеся файлы для прошивки то он со 100% вероятностью просто напросто растеряется. Компания Google (которая создала мобильную ОС Android) сделала все возможное для распространения своей ОС, но не позаботилась о стандартизации прошивки смартфон. У каждого производителя существует множество видов и способов прошивки вот например с помощью файлов с расширениями KDZ, TAR, MD5, ZIP, IMG, ETX4, RFS. Как- то прошиваться по воздуху, с компьютера, заходить в какое-то меню переименовать и ставить обновления. Сейчас со всем по очередности разберемся!

    Обновления для «стабилизации» (чтобы меньше глючило устройство)

    По способу обновления или прошивки

    По воздуху (FOTA)

    С помощью компьютера

    С помощью Update.zip

    Нужны ли обновления вообще?

    В очень далекие времена когда царила ОС Symbian от компании Nokia выход новой ОС под свой смартфон звучало как нечто фантастическое, прошивки выпускались чтобы « стабилизировать» смартфон не глючил» не о каком наращивание функционала, не о каком глобальном изменение характеристик ОС речь не шла. С приходом на рынок смартфонов на ОС Android и IOS все поменялось кардинально. На каждый свой смартфон гарантированно (если он новый) получить хотя бы одно повышение версии мобильной ОС. Эти обновления добавляют все возможные оптимизации интерфейса, оптимизации работы операционной системы, добавляют какие либо новые функции, исправления уязвимостей безопасности. Поэтому на вопрос нужно ли обновляться? Ответ ДА! Вашему смартфону от обновлений будет только лучше.

    Требования

    Никогда не обновляйте устройство с разряженной батареей! Всегда делайте резервную копию данных!

    Виды и способы

    По воздуху

    Практически у всех производителей которые выпускают смартфоны или планшеты на операционной системе Android есть обновления по воздуху (FOTA – обновления). Такие обновления лучше всего скачивать по WI-FI так как их вес может быть от 1 мб до 500 мб, так Вы с уверенностью их скачаете и не потратите деньги на счету. В основном такие обновления приходят для стабилизации прошивки и реже для смены ОС.

    С помощью компьютера

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

    В основном все прошивки состоят из образа (например как ISO) в котором находятся все необходимые файлы для прошивки. Этот образ имеет расширение IMG, либо EXT4 (что в принципе одно и тоже). Производители же просто напросто одевают на этот образ свою оболочку. У Samsung – это TAR, MD5, LG – KDZ, HTC – используют IMG. Чтобы узнать как прошить Android , лучше всего узнать на сайте производителя (или у нас). Такие прошивки существуют как для стабилизации устройства так и для повышения версии операционной системы.

    Update.zip

    Последний вид обновлений и прошивок на операционной системе Android. Производители также часто используют данный вид прошивки. Для того того чтобы его установить, нужно скачать с сайта производителя ZIP Прошивку или Обновление (возможно! ) нужно будет переименовать в Update.zip (если он носит другое название),не в коем случае не разархивируйте файл. Устанавливается файл Update.zip из специального режима который называется Bootloader или Recovery. Возможен ли такой вид установки прошивки или обновлений можно узнать также на сайте производителя. Такие обновления могут носить как стабилизационный характер как полное обновление и повышение операционной системы Android! Также такие файлы используют народные умельцы для получения Root прав или что модифицировать в Android устройстве.

    На этом все! Надеюсь, что Вы Уважаемые, после прочтения не запутались окончательно, для чего и какие прошивки у куда их ставить! Удачных Вам прошивок!

    Спасибо что посетили сайт Fans Android! Оставляйте сайт в закладках, добавляйтесь в нашу официальную страницу

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

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

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

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

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

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

    $ cd ~/rom $ wget https://github.com/xpirt/sdat2img/raw/master/sdat2img.py

    Запускаем скрипт:

    $ chmod +x sdat2img.py $ ./sdat2img.py system.transfer.list system.new.dat system.img

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

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

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

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

    Похожие статьи