Как переделать прошивку android под свой телефон. Что такое перепрошивка Android, зачем она нужна. Язык и версия прошивки

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

Подготовка:

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

Структура прошивки:

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

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

Копируем файл 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 .

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

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

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

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

Ядро:

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



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

Обычно при покупке вышеперечисленных устройств андроид уже установлен, поэтому нужно только привыкнуть к его управлению.

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

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

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

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

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

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

Максимально зарядите девайс, чтобы ему хватило заряда до полного окончания этого процесса. Если устройство отключится во время прошивания, то вы потеряете систему и данные.
Точно определите вашу версию операционной системы и версию прошивки. Эту информацию вы можете получить, выбрав пункт меню «Настройки», а в нем уже нажмите на «О телефоне» и в открывшемся меню вы все подробно увидите.
Далее находите в интернете аналогичную версию прошивки и скачиваете ее.

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

Прошивки существуют в разных вариациях – ZIP, TAR архивы или в виде набора файлов в папке. Это обстоятельство и определяет способ установки операционной системы, так как ставятся они по-разному.

Прошиваем, используя ZIP архив

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

Так как андроид делался на основе платформы Unix, то и root права были унаследованы оттуда.

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

Так и в андроид – root открывает или закрывает право пользователя производить в операционной системе определенные изменения.

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

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

Теперь вам нужно инсталлировать на гаджет программу, которая даст вам возможность восстановить систему (к примеру, ClockWorkMod). Этой же программой можно прошить ваш гаджет.

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

Что случится если долго смотреть в глаза человеку

Влюблен ли в вас мужчина: 10 признаков

Как найти свою вторую половинку: советы для женщин и мужчин

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

Сам процесс резервного копирования системы при помощи использовании программы ClockWorkMod делается так.

Запускаете программу ClockWorkMod на своем устройстве.

В ней выбираете пункт меню «Backup & restore», а в нем жмете на надпись «backup».

Подтверждаете действие («YES»).

Перезагружаете систему, выбрав пункт меню «Reboot system now».

В результате этих действий после перезагрузки устройства на его карту памяти запишется новая папка с резервной копией системы. Ее можно обнаружить, пройдя по пути clockworkmod/backup. Вы легко можете узнать эту папку по имени – оно включает в себя дату и время создания копии.

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

Записываете ранее скачанный фай ROM в карту памяти. Он по умолчанию находится в архиве с расширением ZIP.

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

Переходите в меню и нажимаете на надпись «Wipe» — это действие сотрет информацию о текущем состоянии системы.

После выполнения этого действия возвращаетесь в начало меню и выбираете надпись «Install zip from sdcard» или «Flash Zip from SD Card».

Находите файл ROM с прошивкой, который располагается в архиве с расширением Zip.

Подтверждаете действие, руководствуясь инструкцией на экране.

После окончания процесса выбираете «Reboot system now» в главном меню. Гаджет перезагрузится, и можете пользоваться обновленным устройством.

Перепрошивка андроид из папки с тремя файлами

Для начала скачиваете и устанавливаете на устройство программу Mobile Odin Pro.

Копируете в одну папку три файла, в названиях которых присутствуют надписи CSC, CODE, Modem.

Запускаете программу и выбираете пункт меню «Open file».

В открывшемся окне находите и выбираете файл, в котором присутствует слово «CODE», после чего нажимаете «ОК».

Проверяете, чтобы информация присутствовала во всех разделах.

Ждете окончания процесса.

Видео уроки

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

Введение

Существует три способа создания собственной прошивки для Android-коммуникатора: 1. Допиливание и компиляция операционной системы из исходников, публикуемых компанией Google или командой CyanogenMod. 2. Модификация стоковой прошивки коммуникатора. 3. Модификация сторонней прошивки, созданной с помощью первого или второго способа.

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

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

Выбираем подопытного

Итак, предположим, что наш коммуникатор уже зарутован и в загрузочную область записана консоль восстановления ClockworkMod, позволяющая устанавливать на аппарат любые прошивки без всяких ограничений (о том, как это сделать, мы писали в статье «Тотальное подчинение», опубликованной в октябрьском номере ][). Теперь мы хотим установить на устройство другую прошивку, да не абы какую, а с собственными модификациями, настройками и набором ПО. Поэтому нам нужен каркас, а именно чужая прошивка, стабильно работающая на нашем устройстве. Где ее взять?

Главное место обитания всех ромоделов - это, конечно же, форумы xda-developers.com. Там можно найти все что угодно для коммуникаторов, работающих под управлением iOS, Windows Mobile, Windows Phone и Android. Открываем сайт в браузере, жмем на раздел Forums и ищем в списках форумов свой коммуникатор. Далее заходим в соответствующий раздел Android Development и внимательно просматриваем список тем, содержащих в названии слово «». Лучше найти какую-нибудь чистую прошивку с названием вроде «Pure Android 2.3 Rom» или порт CyanogenMod, хотя, в сущности, подойдет и любая другая (правда, возможно, придется отменять авторские изменения). Открываем тему, проматываем первый пост, находим где-то в конце ссылку на скачивание и загружаем ROM на свой комп.

Теперь файл прошивки нужно вскрыть. Делается это с помощью самого обычного unzip:

$ mkdir ~/rom; cd ~/rom $ unzip ../путь/до/прошивки.zip

Общая структура каталогов и важные файлы

Набор файлов и каталогов, образовавшийся в результате выполнения предыдущей команды, и есть, в сущности, операционная система Android, причем ровно в том виде, в каком она будет размещена в NAND-памяти устройства. В зависимости от версии Android и фантазии автора, она может содержать разные наборы каталогов и файлов, однако в ней всегда присутствуют три обязательных объекта: META-INF, файл boot.img и директория system.

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

Файл boot.img содержит загрузочный образ, который включает в себя ядро Linux и образ initrd. Его можно распаковать, однако для нас он не несет особой пользы, так как почти любые системные параметры можно изменить с помощью файлов настроек и файловой системы /proc. Если же тебе требуется ядро, собранное с особыми параметрами, например с активированным планировщиком BFS или поддержкой NFS, то почти наверняка его можно найти на том же xda-developers и прошить с помощью ClockworkMod.


Наконец, каталог system - это то, ради чего все и затевалось. Содержимое этого каталога и представляет собой операционную систему Android без ядра Linux. Он содержит все, что нужно для работы ОС, а потому знать его структуру просто необходимо. Выглядит она так:

  • app - предустановленные приложения: телефон, калькулятор, календарь и т. д.
  • bin -аналог каталогов /bin и /usr/bin в Linux. Содержит различные системные компоненты, используемые более высокоуровневыми компонентами системы. Например, именно здесь лежит виртуальная машина dalvikvm.
  • etc - файлы настроек. Полный аналог /etc в Linux, используемый, однако, только системными компонентами. Приложения Android хранят настройки в каталоге /data/data.
  • fonts - шрифты. По умолчанию содержит только фирменные шрифты Droid (или Roboto в Android 4.0).
  • framework - наборы Java-классов, используемые системой и Android-софтом. Тут же лежит файл framework-res.apk, содержащий полное описание интерфейса операционной системы, включая все графические файлы.
  • lib - Linux-библиотеки, используемые низкоуровневыми компонентами системы. Аналог каталогов /lib и /usr/lib в Linux, включает такие стандартные библиотеки, как libc (правда, Android использует собственную Bionic вместо Glibc), libz (gzip-шифрование), libssl и другие.
  • media - медиафайлы: рингтоны, звуки уведомлений, звуки интерфейса и файлы анимации загрузки ОС.
  • tts - файлы, необходимые для работы синтезатора речи.
  • usr - необязательный каталог, который обычно содержит файлы, необходимые для работы софтин из каталога bin. По сути, аналог /usr/share.
  • vendor - файлы, поставляемые производителем аппарата. Обычно содержит бинарную firmware для различных «железных» компонентов, например модуля Wi-Fi.
  • xbin - необязательный каталог, который содержит все, что не вошло в bin. Как правило, используется для хранения полезных утилит, тем не менее необязательных для работы системы (top, текстовый редактор). CyanogenMod использует его для хранения инструментов администрирования: bash, ssh, powertop, busybox и т. д.
  • build.prop - файл, содержащий информацию о сборке, а также различные низкоуровневые настройки.

Kоманда setprop

Приведенные в статье настройки build.prop можно применить и в уже работающей системе с помощью команды setprop:

# setprop debug.sf.nobootanimation 1

Собственный набор ПО

Каталог /system/app содержит все предустановленное в прошивку ПО. Удаляя и добавляя пакеты в этот каталог, мы можем изменить набор приложений, доступных «из коробки». Например, ни для кого не секрет, что стандартный ланчер Android (да и ADWLauncher в CyanogenMod) тормозит и имеет многочисленные недостатки. ОK, заменим его на LauncherPro :

$ rm system/app/Launcher.apk $ wget goo.gl/U9c54 -o system/app/LauncherPro.apk

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

Полезно поместить в прошивку одно из приложений для поиска утерянного смартфона (например, prey), тогда даже в случае сброса до заводских настроек оно останется в ОС и будет работать. Также можно заменить некоторое системное ПО, например добавить Dialer One вместо стандартного Phone.apk или Go SMS вместо sms.apk.

Как насчет системных Linux-приложений, например ssh-сервера или mc? Здесь тоже все просто. Собрать софтину для Android и процессора ARM можно с помощью комплекта NDK от Google, но большинство нужных приложений уже собрано до нас. Например, мы хотим предустановить mc в свою прошивку. Идем на xda-developers и выполняем поиск по запросу Midnight Commander. На первой же странице находим apk-пакет с установщиком и распаковываем его с помощью все того же unzip:

$ cd /tmp; unzip ~/NativnuxInstaller_1.1.apk

Видим в списке распакованных файлов assets/kits/mc-4.7.5.4-arm.tar.jet. Это архив tar.gz, который распаковывается в корень системы после установки apk-пакета (а точнее, после установки apk, запуска приложения и нажатия кнопки Install). Мы можем сразу распаковать его в нашу прошивку и получить предустановленный mc:

$ cd ~/rom $ tar -xzf /tmp/assets/kits/mc-4.7.5.4-arm.tar.jet

Теперь для запуска файлового менеджера на устройстве достаточно открыть терминал и набрать mc. Другие приложения могут распространяться в zip-архивах для прошивки с помощью ClockworkMod Recovery. Поместить их в свой мод еще проще, для этого достаточно перейти в корень прошивки (в данном случае ~/rom) и распаковать архив с помощью unzip.


Внешний облик

Собственную прошивку чаще всего создают для того, чтобы изменить внешний облик Android по своему вкусу. Проделать эту операцию в Android, опять же, очень просто. Все настройки графического интерфейса Android хранятся в файле framework/framework-res.apk. Его можно распаковать с помощью утилиты apktool:

$ cd ~; wget goo.gl/hxz5l $ tar -xjf apktool1.4.1.tar.bz2 $ cd ~/rom/system/framework $ java -jar ~/apktool.jar d framework-res.apk

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


Каталоги layout содержат описания графических элементов в формате XML (на самом деле они хранятся в бинарном формате AXML, но apktool преобразовал их в обычный XML). Формат описания достаточно прост и понятен, но с наскоку с ним разобраться трудно, особенно если не знать, где что находится. Поэтому мы снова обратимся к услугам обитателей форума xda-developers, которые уже успели придумать массу различных модификаций для графического интерфейса Android. Их легко найти с помощью поискового запроса «framework-res mod имя_устройства».

Обычно такие моды распространяются в виде готового файла framework-res.apk, который можно просто положить в свою прошивку. Если же ты хочешь найти конкретные отличия в содержимом, то мод можно распаковать и сравнить с твоим framework-res с помощью diff:

$ diff -R ~/framework-res \ ~/rom/system/framework/framework-res

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

После внесения модификаций можно собрать framework-res.apk с помощью все того же apktool. Однако для этой операции требуется утилита aapt из комплекта Android SDK, которую apktool использует для окончательной упаковки apk-файла. Ее можно получить и отдельно:

$ cd ~/bin; wget goo.gl/tC7k8

Теперь можно собрать файл:

$ cd ~/rom/system/framework $ java -jar ~/apktool.jar b framework-res $ cp framwork-res/dist/framework-res.apk . $ rm -rf framework-res

Следующий этап - это изменение анимации загрузки. Она хранится в виде обычных png-файлов, упакованных в архив system/media/bootanimation.zip. Распакуем его:

$ cd /tmp $ mkdir bootanimation; cd bootanimation $ unzip ~/rom/system/media/bootanimation.zip

Внутри находится файл desc.txt, описывающий анимацию в следующем формате:

Ширина Высота FPS p Порядок Пауза Каталог...

Стандартный вид этого файла:

480 800 30 p 1 0 part0 p 0 0 part1

Это значит, что изображение имеет размер 480 x 800, а скорость смены изображений (FPS) составляет 30 штук/с. Далее идет описание первой части анимации, файлы которой находятся в каталоге part0. Она проигрывается один раз (цифра 1 после p). Следующая часть (part1) проигрывается бесконечное число раз, пока аппарат не загрузится. Обычно каталог part0 содержит изображения, соответствующие первой части анимации, а part0 - все остальные изображения, которые проигрываются в цикле. Сами изображения должны быть одинакового размера, а их названия должны содержать числа в возрастающем порядке, например 0001.png, 0002.png и т. д.

Так как анимация загрузки имеет очень простой формат, ее довольно легко сделать. Достаточно преобразовать видеоролик в png-изображения с помощью mencoder (в desc.txt необходимо выставить значение FPS 24):

$ mplayer -nosound -vo png:z=9 video.avi

Но и это будет лишним. Участники форума xda-developers наделали столько анимаций, что необходимость работы руками отпадает вовсе. Ссылки на интересные анимации приведены в конце статьи.

Низкоуровневые настройки

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


  1. Запрет выгрузки рабочего стола из памяти: ro.HOME_APP_ADJ=1

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

  2. Повышение качества сохраняемых JPG-файлов: ro.media.enc.jpeg.quality=100

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

  3. Отключение анимации загрузки для ускорения загрузки операционной системы: debug.sf.nobootanimation=1
  4. Возложение части работы по отрисовке интерфейса на GPU: debug.sf.hw=1

    Позволяет сделать интерфейс более быстрым и плавным.

  5. Блокировка извещения об активном режиме отладки (при подключении к компу с помощью USB): persist.adb.notify=0
  6. Устранение проблемы с возникновением черного экрана после завершения звонка: ro.lge.proximity.delay=25 mot.proximity.delay=25
  7. Включение подсветки клавиш управления сразу после включения экрана: ro.mot.buttonlight.timeout=0

Помимо всего этого, многие пользователи также рекомендуют применять следующие комбинации флагов:

  1. Уменьшение времени отклика сенсорного экрана: debug.performance.tuning=1 video.accelerate.hw=1 windowsmgr.max_events_per_sec=150
  2. Увеличение времени жизни батареи: wifi.supplicant_scan_interval=180 pm.sleep_mode=1 ro.ril.disable.power.collapse=0
  3. Твики 3G-модуля: ro.ril.hsxpa=2 ro.ril.gprsclass=10 ro.ril.hep=1 ro.ril.enable.dtm=1 ro.ril.hsdpa.category=10 ro.ril.enable.a53=1 ro.ril.enable.3g.prefix=1 ro.ril.htcmaskw1.bitmask=4294967295 ro.ril.htcmaskw1=14449 ro.ril.hsupa.category=5
  4. Улучшение производительности сети: net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960

Все эти строки необходимо просто поместить в файл system/build.prop и сохранить.

Сборка

ОК, мы внесли необходимые изменения, внедрили свои приложения, твикнули систему и теперь должны создать готовый к прошивке образ ОС. В этом нам поможет утилита testsign. Сначала следует запаковать прошивку с помощью zip:

$ cd ~/rom; zip -r my-rom.zip *

Теперь необходимо подписать архив, чтобы Recovery смог его установить:

$ wget goo.gl/OyBBk $ java -classpath testsign.jar testsign \ my-rom.zip my-rom-signed.zip

После этого закидываем архив my-rom-signed.zip на карту памяти устройства и выключаем аппарат. Чтобы попасть в Recovery, включаем аппарат с зажатой клавишей уменьшения громкости (для некоторых устройств процедура может отличаться).

Теперь переходим в пункт «Install zip from sdcard», а затем в «Choose zip from sdcard», находим my-rom-sign.zip на SD-карте и выбираем Yes. После завершения установки выбираем «Reboot system now».

Выводы

Android - гибкая платформа, и в этой статье описаны далеко не все возможности по ее модификации. Более глубокая модификация может включать в себя замещение ядра, изменение экрана блокировки и стандартных приложений, активацию таких возможностей, как автоматическая установка приложений на карту памяти, внедрение механизма загрузочных скриптов (/etc/init.d), и многое другое. Обо всем этом мы поговорим в следующих статьях.

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

Android Kitchen

Самым же простым способом является вход на сайт Android Kitchen. Здесь даже непрофессионал может сам создать прошивку на основе готового файла, при этом выбирая постепенно те или иные настройки иконок, громкости, шрифтов, экрана и многого другого.

После того, как выбор изменений был сделан, пользователю остается только выбрать версию прошивки, которая используется в данный момент (здесь важно не ошибиться), во вкладке «Summary» еще раз проверить список и нажать на кнопку «Submit Work to Kitchen». Теперь нужно дождаться своей очереди на создание архива с файлом прошивки, которую потом можно будет залить через Recovery.

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

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

Создать Андроид прошивку

Мы разберем способ создания собственной прошивки , который отлично подходит для не самых опытных пользователей, но которые заряжены энтузиазмом по полной программе . Не всегда нужно вдаваться в низкоуровневое программирование, чтобы достичь желаемых изменений, очень часто нужные функции или внешний вид можно изменить намного проще. Достаточно посетить специализированный сайт Android Kitchen. На этой «кухне» и будет происходить процесс «варки» новой версии программного обеспечения. Единственная оговорка – за основу новой прошивки придется взять уже существующую версию, созданную кем-то другим, но вот приправить её всяческими улучшениями, изменениями и прочими «специями» особого труда не составит.

После посещения Android Kitchen можно выбрать, что нужно поменять – индикатор батареи, системные иконки, строку состояния, различные анимации, диалоговое окно изменения громкости, разделители и полосу прогресса, экран блокировки, шрифты. Выбирая те или иные функции на «кухне», можно сразу же, в реальном времени провести предварительный просмотр сделанных изменений, чтобы оценить их. После того, как все нужные изменения были произведены, переходим на вкладку File Upload. Здесь доступны некоторые настройки, однако по умолчанию они подобраны оптимально – не меняйте их, если не уверены, что вы делаете. В разделе «Select your ROM from Kitchen`s list or upload your own files», выбираем опцию «Kitchen`s list». Из выпадающего списка выбираем используемую прошивку. Будьте внимательны – если указать не ту версию программного обеспечения, высока вероятность ошибки, после которой в лучшем случае патч не применится вообще, а в худшем – система перестанет загружаться и придется полностью перепрошивать устройство.

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

Любую прошивку можно доработать под определенного пользователя

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

Сборка из исходников

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


Изменение уже готового файла

Если вы не слишком разбираетесь во всех тонкостях работы ОС, но хотите что-то изменить в своей прошивке, лучшим решением будет подправить уже. Можно изменить как родную, встроенную прошивку, так и уже изменённую кем-то другим. Кастомизированных прошивок в интернете очень много, и вы вряд ли будете испытывать недостаток в их количестве. Итак, представляем пошаговую инструкцию по сборке собственной прошивки на основе уже существующего продукта.

Редактирование с помощью компьютера

Необходимое программное обеспечение

Нам понадобится компьютер, устройство, файл прошивки и специальная программа под названием Android Kitchen (известная также как кухня). Файл прошивки можно найти на специализированных форумах, наиболее известные - англоязычный XDA Developers и русскоязычный 4PDA. В разделе вашей модели устройства можно найти ссылки на самые популярные и проверенные прошивки как официальные стоковые, так и неофициальные пользовательские.

Далее нужно установить кухню на свой компьютер. Лучше всего работать под Linux, но необходимые библиотеки можно поставить и в Windows. В этом случае можно выйти из ситуации установив Cygwin. и следуйте пошаговой инструкции , помещённой в архиве. Перед этим потребуется установить также Java Platform (JDK) с официального сайта (http://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).


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


Прошивка устройства

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


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


Редактирование на устройстве

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


Изменение собственной прошивки

  1. Если на устройстве ещё не получен root, получите его. Как это сделать, можно прочесть на специализированных форумах в разделе, посвящённом именно вашему аппарату. Дело в том, что поддерживаются малым количеством устройств и большинство из них имеют индивидуальную процедуру.
  2. Установите Nandroid backup (https://play.google.com/store/apps/details?id=com.h3r3t1c.onnandbup&hl=ru) и сделайте с его помощью резервную копию системы своего девайса. Сохраните её в надёжном месте, например, в облачном хранилище. Для чего создавать копию? Вдруг что-то пойдёт не так или вы нечаянно удалите что-то нужное - будет возможность вернуть всё как было.


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


Изменение сторонней прошивки в ZIP-архиве

  1. Скачайте интересующий вас файл прошивки в формате.zip.
  2. Установите файловый менеджер, умеющий работать с архивами, например, ES Проводник или Total Commander, и распакуйте содержимое архива.
  3. Удалите лишние или добавьте недостающие приложения, после чего запакуйте архив обратно и переместите в корень флеш-карты.
  4. С помощью Nandroid backup (https://play.google.com/store/apps/details?id=com.h3r3t1c.onnandbup&hl=ru) создайте резервную копию системы и скопируйте её на облачный диск.
  5. Прошейте устройство из режима Recovery.


Заключение

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

Собирали ли вы прошивку для Android самостоятельно? Что вы в ней меняли и каким образом это делали? Будет интересно, если вы поделитесь своими отзывами.

Бывало ли с вами так, что поставил свежую новую кастомную прошивку. И вроде бы со всех сторон она просто идеальна. Шустрая, с последней версией системы, красивая до ужаса. Но вдруг товарищ хвастается, что тоже вчера обновился, и ты понимаешь, что чужая штука красивее, быстрее, вкуснее, желаннее. Что делать?

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

Для изменений своей прошивки первым делом нужно перейти на сайт кухни http://uot.dakra.lt/kitchen/ . Там-то и будет проходить весь процесс. На самом деле с нуля прошивку собрать не получится. За основу придётся уже взять чьё-то творение, а вот приправить его собственными специями - запросто.

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

Причём, выбирая какие-то опции на кухне, есть возможность создавать real-time превью изменений, чтобы видеть, что получится на выходе.

После выбора необходимых вам изменений нужно отправиться на закладку file upload. Там из настроек не стоит менять ничего без крайней необходимости. Только лишь в разделе "Select your rom from kitchen"s list, or upload your own files" выберите опцию "Kitchen"s list". Появится выпадающий список, в котором нужно будет указать используемую прошивку. Если вы укажите не свою, то есть большая вероятность, что сгенерированный патч не применится или ещё хуже - придётся делать перепрошивку, потому что система не сможет загрузиться.

После всех этих манипуляций переходим на вкладку "Summary", проверяем список изменений, которые запланировали и давим кнопку "Submit Work to kitchen".

Далее отправляемся на страницу http://uot.dakra.lt/pickup/ , где ждём своей очереди. Как только она наступит - сайт отдаст вам.zip-архив со свежеприготовленным патчем для прошивки, который необходимо прошить через рекавери.

Внимание, перед прошивкой не забудьте сделать бекап системы!

Удачных кастомизаций!

Если вам интересны новости мира ИТ, подписывайтесь на материалы сайт в, .

Это вдохновляет нас на написание новых материалов. Спасибо;)

А ещё чуть ниже можно прочесть или оставить комментарии. Доскроллишь страницу? Есть что сказать?

Комментарии:

Teutonick : И все же со скепсисом я отношусь к подобным штучкам. Глядя на то сколько проблем народ имеет с обычными перепрошивками, порой и между двумя стоковыми версиями, ставить такого франкинштейна кому попало,имхо, небезопасно =) Сам лично никогда не пробовал... так что ничего конекретного не скажу, просто наблюдения

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

Введение

Существует три способа создания собственной прошивки для Android-коммуникатора: 1. Допиливание и компиляция операционной системы из исходников, публикуемых компанией Google или командой CyanogenMod. 2. Модификация стоковой прошивки коммуникатора. 3. Модификация сторонней прошивки , созданной с помощью первого или второго способа.

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

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

Выбираем подопытного

Итак, предположим, что наш коммуникатор уже зарутован и в загрузочную область записана консоль восстановления ClockworkMod, позволяющая устанавливать на аппарат любые прошивки без всяких ограничений (о том, как это сделать, мы писали в статье «Тотальное подчинение», опубликованной в октябрьском номере ][). Теперь мы хотим установить на устройство другую прошивку, да не абы какую, а с собственными модификациями, настройками и набором ПО. Поэтому нам нужен каркас, а именно чужая прошивка, стабильно работающая на нашем устройстве. Где ее взять?

Главное место обитания всех ромоделов - это, конечно же, форумы xda-developers.com. Там можно найти все что угодно для коммуникаторов, работающих под управлением iOS, Windows Mobile, Windows Phone и Android. Открываем сайт в браузере, жмем на раздел Forums и ищем в списках форумов свой коммуникатор. Далее заходим в соответствующий раздел Android Development и внимательно просматриваем список тем, содержащих в названии слово «». Лучше найти какую-нибудь чистую прошивку с названием вроде «Pure Android 2.3 Rom» или порт CyanogenMod, хотя, в сущности, подойдет и любая другая (правда, возможно, придется отменять авторские изменения). Открываем тему, проматываем первый пост, находим где-то в конце ссылку на скачивание и загружаем ROM на свой комп.

Теперь файл прошивки нужно вскрыть. Делается это с помощью самого обычного unzip:

$ mkdir ~/rom; cd ~/rom $ unzip ../путь/до/прошивки.zip

Общая структура каталогов и важные файлы

Набор файлов и каталогов, образовавшийся в результате выполнения предыдущей команды, и есть, в сущности, операционная система Android, причем ровно в том виде, в каком она будет размещена в NAND-памяти устройства. В зависимости от версии Android и фантазии автора, она может содержать разные наборы каталогов и файлов, однако в ней всегда присутствуют три обязательных объекта: META-INF, файл boot.img и директория system.

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

Файл boot.img содержит загрузочный образ, который включает в себя ядро Linux и образ initrd. Его можно распаковать, однако для нас он не несет особой пользы, так как почти любые системные параметры можно изменить с помощью файлов настроек и файловой системы /proc. Если же тебе требуется ядро, собранное с особыми параметрами, например с активированным планировщиком BFS или поддержкой NFS, то почти наверняка его можно найти на том же xda-developers и прошить с помощью ClockworkMod.

Наконец, каталог system - это то, ради чего все и затевалось. Содержимое этого каталога и представляет собой операционную систему Android без ядра Linux. Он содержит все, что нужно для работы ОС, а потому знать его структуру просто необходимо. Выглядит она так:

  • app - предустановленные приложения: телефон, калькулятор, календарь и т. д.
  • bin -аналог каталогов /bin и /usr/bin в Linux. Содержит различные системные компоненты, используемые более высокоуровневыми компонентами системы. Например, именно здесь лежит виртуальная машина dalvikvm.
  • etc - файлы настроек. Полный аналог /etc в Linux, используемый, однако, только системными компонентами. Приложения Android хранят настройки в каталоге /data/data.
  • fonts - шрифты. По умолчанию содержит только фирменные шрифты Droid (или Roboto в Android 4.0).
  • framework - наборы Java-классов, используемые системой и Android-софтом. Тут же лежит файл framework-res.apk, содержащий полное описание интерфейса операционной системы, включая все графические файлы.
  • lib - Linux-библиотеки, используемые низкоуровневыми компонентами системы. Аналог каталогов /lib и /usr/lib в Linux, включает такие стандартные библиотеки, как libc (правда, Android использует собственную Bionic вместо Glibc), libz (gzip-шифрование), libssl и другие.
  • media - медиафайлы: рингтоны, звуки уведомлений, звуки интерфейса и файлы анимации загрузки ОС.
  • tts - файлы, необходимые для работы синтезатора речи.
  • usr - необязательный каталог, который обычно содержит файлы, необходимые для работы софтин из каталога bin. По сути, аналог /usr/share.
  • vendor - файлы, поставляемые производителем аппарата. Обычно содержит бинарную firmware для различных «железных» компонентов, например модуля Wi-Fi.
  • xbin - необязательный каталог, который содержит все, что не вошло в bin. Как правило, используется для хранения полезных утилит , тем не менее необязательных для работы системы (top, текстовый редактор). CyanogenMod использует его для хранения инструментов администрирования: bash, ssh, powertop, busybox и т. д.
  • build.prop - файл, содержащий информацию о сборке, а также различные низкоуровневые настройки.

Kоманда setprop

Приведенные в статье настройки build.prop можно применить и в уже работающей системе с помощью команды setprop:

# setprop debug.sf.nobootanimation 1

Собственный набор ПО

Каталог /system/app содержит все предустановленное в прошивку ПО. Удаляя и добавляя пакеты в этот каталог, мы можем изменить набор приложений, доступных «из коробки». Например, ни для кого не секрет, что стандартный ланчер Android (да и ADWLauncher в CyanogenMod) тормозит и имеет многочисленные недостатки. ОK, заменим его на LauncherPro:

$ rm system/app/Launcher.apk $ wget goo.gl/U9c54 -o system/app/LauncherPro.apk

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

Полезно поместить в прошивку одно из приложений для поиска утерянного смартфона (например, prey), тогда даже в случае сброса до заводских настроек оно останется в ОС и будет работать. Также можно заменить некоторое системное ПО, например добавить Dialer One вместо стандартного Phone.apk или Go SMS вместо sms.apk.

Как насчет системных Linux-приложений, например ssh-сервера или mc? Здесь тоже все просто. Собрать софтину для Android и процессора ARM можно с помощью комплекта NDK от Google, но большинство нужных приложений уже собрано до нас. Например, мы хотим предустановить mc в свою прошивку. Идем на xda-developers и выполняем поиск по запросу Midnight Commander. На первой же странице находим apk-пакет с установщиком и распаковываем его с помощью все того же unzip:

$ cd /tmp; unzip ~/NativnuxInstaller_1.1.apk

Видим в списке распакованных файлов assets/kits/mc-4.7.5.4-arm.tar.jet. Это архив tar.gz, который распаковывается в корень системы после установки apk-пакета (а точнее, после установки apk, запуска приложения и нажатия кнопки Install). Мы можем сразу распаковать его в нашу прошивку и получить предустановленный mc:

$ cd ~/rom $ tar -xzf /tmp/assets/kits/mc-4.7.5.4-arm.tar.jet

Теперь для запуска файлового менеджера на устройстве достаточно открыть терминал и набрать mc. Другие приложения могут распространяться в zip-архивах для прошивки с помощью ClockworkMod Recovery. Поместить их в свой мод еще проще, для этого достаточно перейти в корень прошивки (в данном случае ~/rom) и распаковать архив с помощью unzip.

Внешний облик

Собственную прошивку чаще всего создают для того, чтобы изменить внешний облик Android по своему вкусу. Проделать эту операцию в Android, опять же, очень просто. Все настройки графического интерфейса Android хранятся в файле framework/framework-res.apk. Его можно распаковать с помощью утилиты apktool:

$ cd ~; wget goo.gl/hxz5l $ tar -xjf apktool1.4.1.tar.bz2 $ cd ~/rom/system/framework $ java -jar ~/apktool.jar d framework-res.apk

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

Каталоги layout содержат описания графических элементов в формате XML (на самом деле они хранятся в бинарном формате AXML, но apktool преобразовал их в обычный XML). Формат описания достаточно прост и понятен, но с наскоку с ним разобраться трудно, особенно если не знать, где что находится. Поэтому мы снова обратимся к услугам обитателей форума xda-developers, которые уже успели придумать массу различных модификаций для графического интерфейса Android. Их легко найти с помощью поискового запроса «framework-res mod имя_устройства».

Обычно такие моды распространяются в виде готового файла framework-res.apk, который можно просто положить в свою прошивку. Если же ты хочешь найти конкретные отличия в содержимом, то мод можно распаковать и сравнить с твоим framework-res с помощью diff:

$ diff -R ~/framework-res \ ~/rom/system/framework/framework-res

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

После внесения модификаций можно собрать framework-res.apk с помощью все того же apktool. Однако для этой операции требуется утилита aapt из комплекта Android SDK, которую apktool использует для окончательной упаковки apk-файла. Ее можно получить и отдельно:

$ cd ~/bin; wget goo.gl/tC7k8

Теперь можно собрать файл:

$ cd ~/rom/system/framework $ java -jar ~/apktool.jar b framework-res $ cp framwork-res/dist/framework-res.apk . $ rm -rf framework-res

Следующий этап - это изменение анимации загрузки. Она хранится в виде обычных png-файлов, упакованных в архив system/media/bootanimation.zip. Распакуем его:

$ cd /tmp $ mkdir bootanimation; cd bootanimation $ unzip ~/rom/system/media/bootanimation.zip

Внутри находится файл desc.txt, описывающий анимацию в следующем формате:

Ширина Высота FPS p Порядок Пауза Каталог...

Стандартный вид этого файла:

480 800 30 p 1 0 part0 p 0 0 part1

Это значит, что изображение имеет размер 480 x 800, а скорость смены изображений (FPS) составляет 30 штук/с. Далее идет описание первой части анимации, файлы которой находятся в каталоге part0. Она проигрывается один раз (цифра 1 после p). Следующая часть (part1) проигрывается бесконечное число раз, пока аппарат не загрузится. Обычно каталог part0 содержит изображения, соответствующие первой части анимации, а part0 - все остальные изображения, которые проигрываются в цикле. Сами изображения должны быть одинакового размера, а их названия должны содержать числа в возрастающем порядке, например 0001.png, 0002.png и т. д.

Так как анимация загрузки имеет очень простой формат, ее довольно легко сделать. Достаточно преобразовать видеоролик в png-изображения с помощью mencoder (в desc.txt необходимо выставить значение FPS 24):

$ mplayer -nosound -vo png:z=9 video.avi

Но и это будет лишним. Участники форума xda-developers наделали столько анимаций, что необходимость работы руками отпадает вовсе. Ссылки на интересные анимации приведены в конце статьи.

Низкоуровневые настройки

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

  1. Запрет выгрузки рабочего стола из памяти: ro.HOME_APP_ADJ=1

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

  2. Повышение качества сохраняемых JPG-файлов: ro.media.enc.jpeg.quality=100

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

  3. Отключение анимации загрузки для ускорения загрузки операционной системы: debug.sf.nobootanimation=1
  4. Возложение части работы по отрисовке интерфейса на GPU: debug.sf.hw=1

    Позволяет сделать интерфейс более быстрым и плавным.

  5. Блокировка извещения об активном режиме отладки (при подключении к компу с помощью USB): persist.adb.notify=0
  6. Устранение проблемы с возникновением черного экрана после завершения звонка: ro.lge.proximity.delay=25 mot.proximity.delay=25
  7. Включение подсветки клавиш управления сразу после включения экрана: ro.mot.buttonlight.timeout=0

Помимо всего этого, многие пользователи также рекомендуют применять следующие комбинации флагов:

  1. Уменьшение времени отклика сенсорного экрана: debug.performance.tuning=1 video.accelerate.hw=1 windowsmgr.max_events_per_sec=150
  2. Увеличение времени жизни батареи: wifi.supplicant_scan_interval=180 pm.sleep_mode=1 ro.ril.disable.power.collapse=0
  3. Твики 3G-модуля: ro.ril.hsxpa=2 ro.ril.gprsclass=10 ro.ril.hep=1 ro.ril.enable.dtm=1 ro.ril.hsdpa.category=10 ro.ril.enable.a53=1 ro.ril.enable.3g.prefix=1 ro.ril.htcmaskw1.bitmask=4294967295 ro.ril.htcmaskw1=14449 ro.ril.hsupa.category=5
  4. Улучшение производительности сети: net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960

Все эти строки необходимо просто поместить в файл system/build.prop и сохранить.

Сборка

ОК, мы внесли необходимые изменения , внедрили свои приложения, твикнули систему и теперь должны создать готовый к прошивке образ ОС. В этом нам поможет утилита testsign. Сначала следует запаковать прошивку с помощью zip:

$ cd ~/rom; zip -r my-rom.zip *

Теперь необходимо подписать архив, чтобы Recovery смог его установить:

$ wget goo.gl/OyBBk $ java -classpath testsign.jar testsign \ my-rom.zip my-rom-signed.zip

После этого закидываем архив my-rom-signed.zip на карту памяти устройства и выключаем аппарат. Чтобы попасть в Recovery, включаем аппарат с зажатой клавишей уменьшения громкости (для некоторых устройств процедура может отличаться).

Теперь переходим в пункт «Install zip from sdcard», а затем в «Choose zip from sdcard», находим my-rom-sign.zip на SD-карте и выбираем Yes. После завершения установки выбираем «Reboot system now».

Выводы

Android - гибкая платформа, и в этой статье описаны далеко не все возможности по ее модификации. Более глубокая модификация может включать в себя замещение ядра, изменение экрана блокировки и стандартных приложений, активацию таких возможностей, как автоматическая установка приложений на карту памяти, внедрение механизма загрузочных скриптов (/etc/init.d), и многое другое. Обо всем этом мы поговорим в следующих статьях.

Многих современных пользователей пугает понятие «перепрошивка», если оно упоминается в контексте мобильных телефонов, поэтому было бы полезно разобрать, как прошить телефон Андроид. Чаще всего это нужно на случай, если телефон не включается или начал очень сильно глючить. Хотя некоторых просто не устраивает их прошивка из-за дизайна или других подобных моментов.

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

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

Что нам понадобится

Кроме самого мобильного телефона, данный способ предусматривает наличие программы под названием ROM Manager. Скачать ее лучше всего на Google Play.

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

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

Основные среди них такие:

  • Резервное копирование;
  • Восстановление системы;
  • Установка новых прошивок (то, что нам и нужно) и многое другое.

Основное преимущество использования программы ROM Manager для перепрошивки любого телефона, будь то Самсунг, HTC, FLY или какого-то другого, заключается в возможности откатить все изменения.

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

Среди других преимуществ использования ROM Manager особенно важно следующее:

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

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

В Google нужно ввести запрос типа «прошивки на [модель телефона]», то есть, к примеру, «прошивки на Samsung Galaxy J7». Все это делается очень даже просто.

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

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

Совет: Прочитайте в интернете, что пишут другие пользователи о той версии прошивки, которую Вы собираетесь скачать.

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

Совет: Воспользуйтесь программой ROM Manager Premium, которая позволит непросто найти прошивки для Вашей модели телефона, а еще и покажет, какие из них наиболее популярны среди других пользователей. Также в окне программы можно будет посмотреть обсуждения других пользователей относительно той или иной версии прошивки.

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

Итак, перейдем к самому процессу прошивки.

Этапы прошивки телефона Андроид

Программа ROM Manager уже скачана и установлена на Вашем телефоне.

Теперь необходимо сделать следующее:

  1. Получить root права. Если Вы не знаете, как это делать, специально для Вас дальше будет описан весь этот процесс.
  2. Открыть программу ROM Manager и установить ClockWorkMod. Он представляет собой программу, которая выполняет загрузки каких-либо файлов.

Да, у Андроид есть своя такая программа, но нам нужно, чтобы работал ClockWorkMod.

Для этого нужно сделать следующее:

  • В верхней части окна программы, в разделе под названием «Режим Recovery» нажать кнопку «Установить ClockWorkMod» (выделена на рисунке №1.а);
  • После этого следует нажать на свое устройство в выпадающем списке, внешний вид которого показан на рисунке №1.б;

№1. Главное меню программы ROM Manager и окно выбора модели телефона

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

  • Ждем конца скачивания и установки ClockWorkMod.

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

Для этого необходимо сделать следующее:

  1. В главном меню выбрать команду «Сохранить текущий ROM» (выделена на рисунке №2);
  2. Указать имя архива, в котором будет храниться текущая прошивка, то есть резервная копия системы в окне;
  3. Нажать кнопку «ОК» в том же окне;
  4. Ждем, пока программа создаст резервную копию системы и сохранит ее в архиве с указанным пользователем именем.

№2. Создание резервной копии в ROM Manager

Чтобы перейти непосредственно к установке новой прошивки, в окне программы ROM Manager необходимо выбрать пункт «Установить ROM c SD карты», который выделен на рисунке №3. После этого нужно будет выбрать, где находится скачанная Вами ранее прошивка, то есть zip архив с ней.

№3. Кнопка «Установить ROM c SD карты»

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

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

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

Процесс получения root прав

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

Список этих программ выглядит следующим образом:

  • Framaroot;
  • Universal AndRoot;
  • VISIONary+;
  • GingerBreak;
  • z4root;
  • Baidu Root;
  • Romaster SU;
  • Towelroot;
  • Root Dashi;
  • 360 Root.

Теперь Вам достаточно найти одну из них в интернете, скорее всего на Google Play, установить и воспользоваться. Можно с уверенностью сказать, что Вы сможете разобраться в том, как их пользовать.

К примеру, окно программы Framaroot показано на рисунке №4. Все, что нужно сделать, это нажать на кнопку «Установить SuperSU».

№4. Окно программы Framaroot

Восстановление системы

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

В главном меню программы следует нажать кнопку «Резервные копии» (выделена на рисунке №5).

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

Соответственно, нам нужно будет выбрать пункт под названием «Восстановить».

№5. Главное меню программы ROM Manager

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

Впрочем, и во всей прошивке при помощи программы ROM Manager тоже нет ничего сложного – практически все делается в одно-два нажатия.

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