Создаем Android-прошивку из подручных материалов. Прошивка Android-устройств Samsung через программу Odin Подготовка к процессу прошивки

В этой небольшой заметке мы расскажем нашим читателям о деодексировании прошивок для Android с помощью jBart, а также о разнице между ODEX (одекс) и DEODEX (деодекс) прошивками. Для начала давайте разберемся что же понимается под терминами odex / deodex, обратившись для этого по следующим ссылкам:

На момент написания этой заметки актуальной версией была jBart v1.8.9 - "Программа предназначена для автоматизации процесса перевода прошивок на базе ОС Андроид. Поддерживаются версии Андроид от 2.х.х до 4.х.х (включая Андроид 4.4 KitKat). Ядро программы составляет модифицированный apktool. Кроме перевода прошивок присутствует возможность деодексирования прошивок, а также работа с одиночными apk и jar файлами из прошивок."

Не затягивая повествование надолго - перейдем к практическому примеру. "Тренироваться" мы будем на прошивке от МТС о котором мы писали не так давно. Первым шагом мы тем или иным образом должны скачать с планшета папки /system/app и /system/framework, а также файл build.prop. который можно найти в папке system. Для копирования некоторых из частей прошивки возможно потребуются права root (на Oysters T7V 3G их с легкостью можно получить при помощи приложения motochopper , которое вы без труда сможете найти в поисковиках). После того как мы скачали необходимые файлы и папки - размещаем их в каталоге system и запаковываем в архив - system.zip , таким образом, чтобы корень архива содержал папку system, а уже внутри нее были подпапки app, framework и папка bulid.prop:

Выбираем корректную версию ROM API (т.е. версию Android), в нашем случае - это 4.2.x, нажимаем кнопку Deodex и ждем. По завершении операции архив с деодексированной прошивкой будет лежать в jBART-master\output\deodexed_system.zip. Как видно, файлы прошивки уже не содержат файлов.odex, а только.apk. Теперь можно переходить к их модификации, переводу, редактированию и т.п. изменениям. Но это уже тема совершенно для другой заметки. Подводя итог, отметим, что с помощью jBart и нескольких несложных операций - мы научились получать из одексированной прошивки деодексированную, т.е. "пользовательскую". Файлы в которой каждый может модифицировать в соответствии со своими желаниями и потребностями.

Разработчики MIUI больше не ведут работы по переносу своей прошивки на Motorola Defy. Однако в сети есть энтузиасты которые портировали последнюю версию прошивки MIUI v5 на Motorola Defy. В которой, к несчастью, отсутствует язык Пушкина, Лермонтова и Некрасова.

Где скачать программу перевода MIUI на русский язык

Скачать программу для перевода можно на форуме romz.bz . Хочу акцентировать внимание на то, что загружается именно переводчик, но не словари и файлы перевода и тем более не прошивка. Все необходимое для перевода программа скачивает во время работы из интернета. Поэтому русифицировать прошивку без подключения к интернету не получится.
Кроме того программе перевода нужна Java. На своем ноутбуке с Windows 7 я использовал Java для Windows Version 7 Update 25. При необходимости качаем с официального сайта .

Где взять прошивку MIUIv5 для Motorola Defy

Саму свежую версию прошивки для Motorola Defy можно взять на официальном сайте MIUI . Внимание!!! Сайт на китайском! Если не догадались по картинкам, то прогоните его через он-лайт переводчик http://translate.google.com . Если и с ним не справились, то можно посетить http://miuiandroid.com/community/ . Хотя там все на английском, но он куда понятней китайского.
Не забываем, что официально MIUI идет без GAPPS (набор стандартных гугловских приложений, таких как gmail, gtalk, market, карты и т.д.) и для версии MIUIv5 (ядро от Android 4.1) нам необходимы гаппсы для Андроид 4.1.Х. Взять их можно так же на http://miuiandroid.com/community/ . Прямая ссылка на закачку — miuiandroid_gapps-4.1.2-small_signed.zip .

Как пользоваться программой перевода CloudBuildr

В названии программы ошибки нет, действительно в конце имени перед «r» отсутствует так ожидаемая буква «e».

Итак приступим. Скаченный архив с программой переводчиком CloudBuildr распаковываем в любое удобное место и запускаем Java файл CloudBuildr.jar .

При желании можно изменить настройки программы.

Хотя предлагаемые варианты по-умолчанию подойдут большинству.


Сохраняем настройки и загружаем в переводчик наш скаченный архив с прошивкой. Я просто перетащил его мышкой из проводника в окно программы.

После этого щелкаем по кнопке «распаковать или обновить».

И наблюдаем процесс декомпиляции. Который будет продолжаться несколько минут.


После этого компилируем прошивку. То есть собираем в один архив переведенную копию прошивку, готовую для установки на смартфон.

Наблюдаем за процессом сборки прошивки.


По окончании которого забираем из папки «build» (если не меняли настройки по-умолчанию) архив с переведенной прошивкой.
О том как правильно прошивать неофициальные прошивки на Motorola Defy советую почитать

  • Первое правило , прошивать только с заряженной батареей на смартфоне и бесперебойным питанием на компьютере.
  • Второе правило , не выдергивать USB шнур во время прошивки Android.
  • Третье правило , USB шнур должен быть оригинальный и неповрежденный. В последние время очень актуально использовать именно тот USB шнур, который шел в комплекте с телефоном, так как при использовании не оригинальных есть возможность сломать устройство!
  • Четвертое правило , путь к прошивке не должен содержать русскоязычные папки ( C:папка не правильно, C: или С:samsung — правильно ).

Прошивки бывают

Однофайловые — состоят из одного файла прошивки;

Двух- Трех- Четырех- Пяти- файловые (многофайловые) — состоят более чем из одного файла (прошивки из сервисных центров);

Прошивки имеют расширение *. tar или *. tar.md5

Подготовка к прошивке

  1. Скачайте официальную прошивку Samsung
  2. Установите драйвер на ПК
  3. Скачайте и распакуйте программу ODIN
  4. Целостный, оригинальный шнур USB

Где скачать Прошивку Samsung

Либо воспользуйтесь специальной утилитой которая быстро скачивает прошивку Samsung на компьютер — инструкция Samfirm .

  • Прошивки SER — Россия и СНГ
  • Прошивки SEK — Украина и СНГ

Другие регионы - CSC

Албания:
ALB

Алжир:
ALG
ALR

Аргентина:
ANC
ARO
CTI
UFN
PSN

Аруба:
ARU

Австралия:
OPP
OPS
VAU
XSA
TEL
HUT

Австрия:
AOM
DRE
MAX
MOB
MOK
ONE
TRG
ATO

Балтика:
SEB

Беларусь:
MTB
VEL

Бельгия:
BAE
BSE
PRO
XEB
Босния-Герцеговина:
BHO
BHT
TEB

Бразилия:
BTA
BTM
TMR
ZTA
ZVV
ZTO
ZTM

Болгария:
CMF
GBL
MTE
MTL
OMX
PLX
VVT

Канада:
RGS
BMC
TLS

Чили:
CHB
CHE
CHL
CHT
Китай:
CUH
INT
TEC
TIY
CMC
CHN
M00

Колумбия:
COB
COL
COM
COO

Кипр:
CYV

Египет:
EGY

Финляндия:
ELS
SAU
NEE

Франция:
OFR
AUC
BOG
COR
DIX
FTM
NRJ
ORC
ORF
SFR
UNI
VGF
XEF

Германия:
DBT
DTM
DUT
EPL
MAN
MBC
VD2
VIA
XEG

Греция:
AOC
COS
EUR
GER
TGR
VGR
CYO

Румыния:
PAN
VDH
WST
TMO
XEH
TMH

Индия:
HFC
HYA
INA
IND
INU
IMS
REL
TAT
INS

Израиль:
CEL
PCL
PTR

Италия:
GOM
HUI
ITV
OMN
TIM
VOM
WIN
XET
FWB

Казахстан:
EST
KCL
KMB
KZK
SKZ

Корея:
SKT
KOR

Монголия:
MPC

Нидерланды:
BEN
MMO
ONL
QIC
TFT
TNL
VDF
VDP
XEN
KPN

Новая зеландия:
VNZ
TNZ
NZC

Норвегия:
TEN
NEE

Пакистан:
WDC
PAK

Польша:
ERA
IDE
PLS
PRT
XEO

Румыния:
CNX
HAT
ORO
COA

Россия:
AZC
BLN
EMT
ERS
GEO
MTV
SER
SNT

Сингапур:
BGD
XSO
XSP

Словения:
MOT
SIM

Словакия:
GTL
IRD
TMS
ORS

Южная Африка:
XFA
XFC
XFM
XFV
XFE

Испания:
AMN
EUS
FOP
XEC
ATL

Швеция:
BAU
BCN
BME
BSG
BTH
COV
HTS
SEN
TET
TLA
XEE
VDS
TNO

Швейцария:
AUT
ORG
MOZ
SUN
SWC

Тайвань:
TWM
BRI
TCC
TCI
CWT

Таиланд:
CAT
THE
THL
THO
THS

Танзания:
SOL

Тунис:
ABS
RNG

Турция:
BAS
KVK
TUR
TLP
TRC

Украина:
KVR
SEK
UMC

ЮАР:
MID
ARB
XSG
AFR
ITO

Великобритания:
BTC
O2I
O2U
ORA
TMU
TSC
VOD
XEU
VIR
H3G
CPW

США:
AWS
DOB
TMB
CLW

Узбекистан:
UZB

Винисуэла:
VMT

Вьетнам:
XXV
PHU
XEV
DNA
FPT
SPT
TLC
VTC
VTL

[свернуть]

После установки драйверов и скачивания прошивки необходимо перевести Samsung в режим прошивки (bootloader или загрузки):

Для флагманских смартфонов (S8,S9, S10)

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

Для смартфонов и планшетов это выглядит так:

Выключаем смартфон/планшет и зажимаем кнопки «Громкость Вниз» + «Центральная кнопка» + кнопка «Вкл/Выкл»

попадаем вот такое меню, отпускаем кнопки и нажимаем кнопку «Громкость Вверх»

Для старых смартфонов (до средины 2011г.):

Если не получается перевести в режим Download

[свернуть]

2. Подсоедините Android к ПК и дождитесь пока установятся драйвера.

3. Запустите Odin, в левом верхнем углу должно появится окошко что устройство подключено:

4. Добавляем файлы прошивки в программу Odin

Теперь переходим к процессу прошивки, точней как все правильно настроить чтобы работало!

При прошивки возможна потеря программ и их данных (но не мелодий, картинок итп)

Прошивка

Однофайловые прошивки Samsung и многофайловые прошиваются по разному!

Если прошивка Однофайловая

Вставляем прошивку в поле AP или PDA (нажать на кнопку)

Если прошивка Многофайловая

  • Файл PIT (если есть)в поле PIT (нажать на кнопку)
  • Файл APBOOT_xxxxx.tar.md5 в поле BL или Bootloader (нажать на кнопку Bootloader )
  • Файл CODE_xxxxx.tar.md5 в поле AP или PDA (нажать на кнопку)
  • Файл MODEM_xxxxx.tar.md5 в поле CP или PHONE (нажать на кнопку)
  • Файл CSC_xxxxx.tar.md5 в поле CSC (нажать на кнопку)

ничего не изменяйте и не ставьте галочек в левом углу (если этого не требуется):

5. После того как выбрали файлы прошивки нажмите кнопку START , а Android которая будет длиться от 2х до 5и минут. После чего появится сообщение PASS или RESET , прошивка установлена и смартфон перезагрузится (можете отключить samsung от ПК).

На этом прошивка закончена. Удачно Вам прошиться!

После прошивки Samsung не загружается?

Видео Инструкция по прошивки
смартфона Samsung через ODIN

Ошибки которые могут возникнуть в процессе прошивки

В процессе прошивки Samsung смартфонов и планшетов могут случиться различные ошибки:

  1. Не видит устройство
  2. Процесс завис
  3. Сбой в момент прошивки
  4. Неожиданный обрыв
  5. Ошибка при старте обновления устройства

Прошивка ядер (boot.img, zImage), файлов recovery и модемов

Как прошить модем?

Если Вам говорят прошить модем, то это означает что нужно файл модема вставить в поле Phone и прошить его.

Как прошить ядро или Recovery?

Если вы прошиваете стороннее ядро или Recovery и у вас предустановлен Android 5.X.X и выше, то необходимо внести определенные изменения в настройки Android:

Прошить ядро, кернел или CWM означает что нужно файл вставить в поле AP или PDA и прошить его.

Возможные проблемы при установке Recovery

Если вдруг после того как прошили кастомное recovery, видите что recovery остается стандартным, тогда вам пригодиться данная инструкция:

  1. В ODIN снять галочку с AUTO REBOOT
  2. Прошить кастомное Recovery
  3. Выключить Android устройство
  4. (если Samsung начал просто загружаться, то повторить процедуру 1-4)
  5. Применить патч (root права)
  • Как создать TAR файл с IMG
  • на смартфон Samsung

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

Любой пользователь 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-девайсов производства одного из лидеров мирового рынка смартфонов и планшетных компьютеров – компании Samsung — пользователи довольно часто озадачиваются возможностью или необходимостью прошивки устройства. Для Андроид-аппаратов производства Самсунг лучшим решением при манипуляциях с ПО и восстановлении является программа .

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

Важно! Приложение Odin при неправильных действиях пользователя может повредить девайс! Все действия в программе пользователь осуществляет на свой страх и риск. Администрация сайта и автор статьи за возможные негативные последствия выполнения нижеизложенных инструкций ответственности не несут!

Для обеспечения взаимодействия Odin и устройства потребуется установка драйверов. К счастью, Samsung позаботился о своих пользователях и процесс установки обычно не вызывает никаких проблем. Единственным неудобством является тот факт, что драйвера входят в комплект поставки фирменного ПО Samsung для обслуживания мобильных устройств – Kies (для старых моделей) или Smart Switch (для новых моделей). Следует отметить, что при прошивке через Odin c одновременно установленным в системе Kies, могут возникнуть различные сбои и критические ошибки. Поэтому после установки драйверов Kies необходимо удалить.


Шаг 2: Перевод устройства в режим загрузки

Программа Odin способна взаимодействовать с девайсом Samsung только в том случае, если последнее находится в специальном Download-режиме.

Шаг 3: Прошивка

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

Установка однофайловой прошивки

  1. Загружаем программу ODIN и прошивку. Распаковываем все в отдельную папку на диске С.
  2. Обязательно! Если установлен, удаляем Samsung Kies! Идем по пути: «Панель управления» «Программы и компоненты» «Удалить» .

  3. Запускаем Odin от имени Администратора. Программа не требует установки, поэтому для ее запуска необходимо правой кнопкой мыши кликнуть по файлу Odin3.exe в папке, содержащей приложение. Затем в раскрывшемся меню выбрать пункт «Запуск от имени Администратора» .
  4. Заряжаем аккумулятор устройства не менее чем на 60%, переводим его в режим «Download» и подключаем к USB-порту, расположенному на задней панели ПК, т.е. непосредственно к материнской плате. При подключении Odin должен определить девайс, о чем свидетельствуют заполнение голубым цветом поля «ID:COM» , отображение в этом же поле номера порта, а также надпись «Added!!» в поле лога (вкладка «Log» ).
  5. Для добавления образа однофайловой прошивки в Odin нажимаем кнопку «AP» (в версиях Один до 3.09 – кнопка «PDA» )
  6. Указываем программе путь к файлу.
  7. После нажатия кнопки «Открыть» в окне Проводника Odin начнет сверку MD5 суммы предложенного файла. По завершению проверки хеш-суммы имя файла-образа отображается в поле «AP (PDA)» . Переходим на вкладку «Options» .
  8. При использовании однофайловой прошивки во вкладке «Options» должны быть сняты все галочки за исключением «F. Reset Time» и «Auto Reboot» .
  9. Определив необходимые параметры, нажимаем кнопку «Start» .
  10. Начнется процесс записи информации в разделы памяти устройства, сопровождаемый отображением имен записываемых разделов памяти девайса в верхнем правом углу окна и заполнением индикатора выполнения, расположенных выше поля «ID:COM» . Также в процессе происходит наполнение поля лога надписями о происходящих процедурах.
  11. По завершению процесса в квадрате в верхнем левом углу программы на зеленом фоне отображается надпись «PASS» . Это говорит об успешном завершении прошивки. Можно отключить устройство от USB-порта компьютера и запустить его длительным нажатием на кнопку включения. При установке однофайловой прошивки данные пользователя, если это явно не указано в настройках Odin, в большинстве случаев не затрагиваются.

Установка многофайловой (сервисной) прошивки

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

Многофайловой прошивка называется потому, что представляет собой совокупность нескольких файлов-образов, и, в отдельных случаях, – PIT-файла.


Прошивка c PIT-файлом

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

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


Установка отдельных компонентов ПО

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

Для примера рассмотрим установку кастомного рекавери через ODIN.


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