Как сделать экономичную прошивку
Существует три способа создания собственной прошивки для Android-коммуникатора: 1. Допиливание и компиляция операционной системы из исходников, публикуемых компанией Google или командой CyanogenMod. 2. Модификация стоковой прошивки коммуникатора. 3. Модификация сторонней прошивки, созданной с помощью первого или второго способа.
Первый способ является наиболее правильным и гибким, однако он зачастую требует достаточно глубоких знаний об особенностях Android и умения редактировать исходники системы так, чтобы они после этого работали на устройстве. Эта тема выходит за рамки нашей статьи, поэтому сборку исходников Android мы рассматривать не будем, а остановимся на двух других способах, точнее на третьем.
Сторонние прошивки (так называемые моды) существуют практически для любого Android-устройства, с момента выхода которого на рынок прошла хотя бы неделя. Обычно они уже включают в себя все необходимые модификации, необходимые для корректной работы прошивки на коммуникаторе, а потому представляют собой отличную площадку для экспериментов над системой. Их можно модифицировать практически до неузнаваемости, включать в состав ОС любое ПО, изменять ее внешний облик, создавать множество низкоуровневых настроек с помощью простого текстового редактора и файлового менеджера. Эти действия не требуют глубоких знаний ОС и могут быть выполнены любым читателем журнала.
Как сделать прошивку на Андроид самому
Для того, чтобы прошивка получилась качественной и телефон не превратился в кирпич важно произвести ряд мер для подготовки к созданию обновленного Андроида. Понадобится компьютер с установленной на нем операционной системой Linux, лучше UBUNTU. Устанавливать желательно 64х разрядную систему под новые версии Андроид.
Такая разрядность нужна для того, чтобы изменять прошивку версий Андроида выше 2.4.
На жестком диске должно быть до 20 гигабайт свободного пространства. Это делается для того, чтобы сохранять исходники.
Кроме самостоятельного изготовления из исходников, есть способ изменения уже готового файла.
Выбираем подопытного
Моды анимации загрузки с xda-developers
Другие статьи в выпуске:
Теперь файл прошивки нужно вскрыть. Делается это с помощью самого обычного 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.
ClockworkMod Recovery: кастомное меню восстановления для Android
Наконец, каталог system — это то, ради чего все и затевалось. Содержимое этого каталога и представляет собой операционную систему Android без ядра Linux. Он содержит все, что нужно для работы ОС, а потому знать его структуру просто необходимо. Выглядит она так:
Редактирование с помощью компьютера
Необходимое программное обеспечение
Нам понадобится компьютер, устройство, файл прошивки и специальная программа под названием Android Kitchen (известная также как кухня). Файл прошивки можно найти на специализированных форумах, наиболее известные — англоязычный XDA Developers и русскоязычный 4PDA. В разделе вашей модели устройства можно найти ссылки на самые популярные и проверенные прошивки как официальные стоковые, так и неофициальные пользовательские.
Модификация прошивки
Прошивки чаще всего распространяются в виде файла с расширением .img, реже — как ZIP-архив. В обоих случаях вам понадобится переместить файл с прошивкой в папку установленной кухни, чтобы она смогла импортировать её и начать с ней работу. Кухня должна быть установлена по пути c:/cygwin/home/user/ (при установке через Cygwin) или Файловая система/home/user/ (при работе через Linux).
- Запустите кухню через Cygwin или Linux-терминал с помощью команды cd kitchen, затем ./menu.
- Распакуйте архив в кухню, как уже писалось выше.
- После того как появится меню программы, перейдите в раздел 0. Advanced Options.
- После этого будет представлен список команд для модификации прошивки. Выберите именно ту, которая нужна вам. Можно добавить Busy Box, Root, Apps2SD, заменить стоковые приложения, различные анимации, освободить память устройства и многое другое.
- После окончания манипуляций запустите в главном команду 99. Build ROM from working folder (Построить прошивку с рабочей папки) и заберите ZIP-архив с OUTPUT_ZIP.
Прошивка устройства
Прошить устройство можно как через компьютер, так и без него. В первом случае нужно скачать программу для прошивки, обычно это Flash Tool или Odin, драйверы для вашей модели устройства и подготовить уже подправленный архив.
При прошивке через Recovery понадобится скопировать файл в корень карты памяти, загрузить устройство в режиме Recovery, отформатировать устройство и кэш, а затем установить прошивку из архива. После перезагрузки у вас будет изменённая лично вами прошивка.
Собственный набор ПО
$ 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.
Свежераспакованная прошивка
Редактирование без использования компьютера
Чтобы редактировать прошивку Андроид не используя компьютер, владелец телефона должен скачать ее в архиве. Запустить Total Commander, эта программа умеет работать с архивированными пакетами. Разархивировать пакет.
Что сделать дальше, описано ниже (необходимы рут-права):
- Скачайте программу Nandroid backup с сайта и сделайте резервную копию.
Есть еще один вариант – если пошивка в формате zip.
В этом случае процедура идентична. Но перед и после процесса необходимо сначала распаковать, а затем запаковать без сжатия файл прошивки. С помощью Nandroid backup делаем бэкап, и шьем устройство через любое удобное приложение.
Внешний облик
Собственную прошивку чаще всего создают для того, чтобы изменить внешний облик 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 — это каталог с графическими ресурсами для экранов среднего разрешения, находящихся в горизонтальном положении (во время поворота экрана ОС переключается на использование других файлов). Разумеется, любой файл можно отредактировать или заменить другим.
Распаковываем framework-res.apk
Обычно такие моды распространяются в виде готового файла framework-res.apk, который можно просто положить в свою прошивку. Если же ты хочешь найти конкретные отличия в содержимом, то мод можно распаковать и сравнить с твоим framework-res с помощью diff:
$ diff -R ~/framework-res \ ~/rom/system/framework/framework-res
К сожалению, в рамках одной статьи мы не можем рассмотреть хотя бы часть внутреннего устройства framework-res, поэтому за более подробной информацией обращайся к соответствующей теме форума 4PDA.
Способы создания
Чтобы сделать прошивку Android из исходников рекомендуется проделать следующие шаги.
Достоинство изготовления собственной прошивки заключается в том, что вы можете сами оптимизировать свой Андроид на столько, на сколько нужно. А также вы сможете избавить его от предустановленных программ, которые попросту засоряют его и не используются. Еще одним преимуществом является то, что вы сами можете сделать прошивку и обновить телефон до любой версии.
Конечно же отредактировать уже готовую сборку под себя гораздо проще. Для этого понадобится:
Выгодные подарки на День святого Валентина
Сделать прошивку телефона из уже готового файла конечно гораздо легче и проще. В этом заключается преимущество редактирования уже готовой прошивки.
goo.gl/tlHRo — набор советов по изменению framework-res.apk.
goo.gl/fTvz8 — простая анимация загрузки с логотипом Android.
goo.gl/Ya1fX — анимация загрузки с плазменным кругом.
goo.gl/P6JR — анимация загрузки в стиле IBM PC.
goo.gl/sGXwa — анимация загрузки Android Honeycomb.
После внесения модификаций можно собрать 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.jpg, 0002.jpg и т. д.
Так как анимация загрузки имеет очень простой формат, ее довольно легко сделать. Достаточно преобразовать видеоролик в png-изображения с помощью mencoder (в desc.txt необходимо выставить значение FPS 24):
$ mplayer -nosound -vo png:z=9 video.avi
Но и это будет лишним. Участники форума xda-developers наделали столько анимаций, что необходимость работы руками отпадает вовсе. Ссылки на интересные анимации приведены в конце статьи.
Низкоуровневые настройки
Последнее, о чем я хотел бы рассказать в статье, — это редактирование низкоуровневых настроек. В Android для этого есть файл system/build.prop, который хранит информацию о сборке прошивки и настройки для конкретных устройств. Добавив в этот файл те или иные строки, можно изменить функционирование Android, ускорить его работу или уменьшить расход батареи. Ниже приведены наиболее интересные настройки.
Стандартный build.prop для Motorola Defy
- Запрет выгрузки рабочего стола из памяти: ro.HOME_APP_ADJ=1
Опция позволяет сделать работу с устройством более удобной за счет мгновенного доступа к рабочему столу в любое время. Не рекомендуется использовать для устройств с малым объемом памяти. - Повышение качества сохраняемых JPG-файлов: ro.media.enc.jpg.quality=100
Позволяет сделать снимки камеры более четкими, но существенно повышает нагрузку на ЦП. - Отключение анимации загрузки для ускорения загрузки операционной системы: debug.sf.nobootanimation=1
- Возложение части работы по отрисовке интерфейса на GPU: debug.sf.hw=1
Позволяет сделать интерфейс более быстрым и плавным. - Блокировка извещения об активном режиме отладки (при подключении к компу с помощью USB): persist.adb.notify=0
- Устранение проблемы с возникновением черного экрана после завершения звонка: ro.lge.proximity.delay=25 mot.proximity.delay=25
- Включение подсветки клавиш управления сразу после включения экрана: ro.mot.buttonlight.timeout=0
Помимо всего этого, многие пользователи также рекомендуют применять следующие комбинации флагов:
- Уменьшение времени отклика сенсорного экрана: debug.performance.tuning=1 video.accelerate.hw=1 windowsmgr.max_events_per_sec=150
- Увеличение времени жизни батареи: wifi.supplicant_scan_interval=180 pm.sleep_mode=1 ro.ril.disable.power.collapse=0
- Твики 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
- Улучшение производительности сети: 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, включаем аппарат с зажатой клавишей уменьшения громкости (для некоторых устройств процедура может отличаться).
Выполните следующую команду для для установки описанного инструмента в свою систему:
Несколько лет назад, когда я впервые познакомился с Android, я услышал от своего коллеги по работе, что Android предусматривает возможность установки модифицированных или самодельных прошивок. Признаться, тогда я был далек от этого. И даже пол года назад меня едва интересовали подобные вещи. Глубоко в душе, я был уверен: то, что делает производитель, уже предназначено для нормального использования.
Каково же было мое разочарование, когда я приобрел телефон из поднебесной, где заводскими настройками было запрещено использование Google, Skype, Facebook и других приложений. В принципе, на некоторые вещи можно было закрыть глаза, но когда мой телефон не подразумевал использование учетной записи Google — я взял с себя обещания обязательно разобраться во что бы мне это не стало.
Прошло пол года и мои кастомные прошивки с успехом используются по всему миру.
В данной серии статей пойдет речь о том, как делать reverse программирование для Android, реализовывать патчи, твики и моды.
Преамбула
И так! Давайте сперва определимся с понятиями, которые будут использоваться в данной статье. Ваше привычное понимание, при этом, может сильно отличаться.
Патч — изменение или замена существующего программного кода с целью модификации алгоритма программы.
Мод — как правило, добавление дополнительного функционала в существующий программный код без изменения алгоритма.
Твик — усовершенствование функционала программы с целью облегчения доступа к параметрам системы.
Также хочу заметить, что все примеры будет взяты для телефона HTC, но это не значит, что данная информация не может быть использована на других телефонах.
Обращаю ваше внимание, что я, как автор, не несу ответственности за возможную потерю данных на вашем телефоне в результате использования информации ниже.
Подготовка среды
Обойдусь без подробных инструкций как пользоваться тем или иным программным обеспечением. Если вам интересна данная статья и вы дочитали до этих строк, то я надеюсь, что вы уже опытный пользователь и имеете опыт использования, ну или хотя бы экспериментирования в данной области. Инструкций, статей и результатов тестирования полно в открытом доступе, впрочем, как и на Хабре. Также обойдусь без описания некоторых терминов, иначе статья получится очень большой и нудной. Будем писать только по делу. Уверен, что среда у вас уже давно стоит. Если нет, то предлагаю скачать и установить.
1. Android SDK. Это среда разработки приложений для Андроид. Для того чтобы делать модификации, нам обязательно придется проверять наш программный код. Среда разработки самое лучшее, что мы можем использовать.
2. Android Kitchen. Данная утилита позволит вам работать с образами системных партиций официальной ну или неофициальной прошивки.
3. JD-GUI. Декомпилятор программного кода языка Java. Сразу отмечу, что это самый лучший декомпилятор в плане удобства использования.
4. DJ Java Decompiler. Еще один декомпилятор, или дизассемблер, как некоторые любят называть, программного кода языка Java. Не удобен в плане использования, но разбирает код, который иногда не понимает JD-GUI.
5. smali. Еще один дизассемблер, но уже dalvik кода. smali нужен для дизассемблирования, а backsmali ассемблирования кода.
6. dex2jar. Утилита для конвертации исполняемых файлов Dalvik кода.
Преобразование прошивки
После того, как прошивка из оптимизированного вида (ODEX — оптимизированный dalvik исполняемый код, если мне не изменяет память) стала DEODEX (то бишь НЕ оптимизированной), все исполняемые файлы готовы к модификации.
Непосредственно модификации
Создание патчей
Как я уже и рассказывал, мой телефон изначально имел запрет на использование Google. Ну хоть ты тресни, на Playstore не зайти, учетную запись не настроить, телефонная книга толком не синхронизируется. Зачем нужен такой Android? Долго копаясь в логах (logcat) самого устройства, я нашел записи, которые говорили о том, что использование Google запрещено. Самое не удобное в Android, вы видите лог, но не знаете какое системное приложение его производит. Чтобы отыскать от куда ноги растут, мне пришлось распотрошить все системные приложения до дизассемблированного Java кода. Это заняло достаточно времени, но я до сих пор пользуюсь проделанной работой при анализе и поиске нужного кода. Этапы получения подобного инструментария следующие:
1. Сделать DEODEX всей прошивки
2. Вашу новую DEODEX прошивку надо будет собрать и прошить на телефон. Как это делается — тема другой статьи.
3. Из каждого файла, находящегося в /system/framework вытащить файл classes.dex и переконвертировать в JAR посредством dex2jar.
4. Каждый полученный JAR открыть в JD-GUI и пере-сохранить в исходный код
5. Распаковать исходный код из архива.
В итоге у меня получилось столько папок, сколько было JAR файлов в /system/framework, и каждая папка имела структуру исходных кодов Java.
Путем несложных манипуляций, я быстро отыскал то место, которое генерировало записи в logcat.
Оказалось все просто. Есть подпрограмма, которая на основе заранее установленных констант, при обращении отвечала, относится ли телефон к Китаю или же нет.
Код находился в файле HTCExtension.jar, а класс, который содержал данную подпрограмму находился в \com\htc\util\contacts\BuildUtils$Customization.java
Распаковка и анализ оригинального файла
1. Сперва нам надо взять оригинальный DEODEX JAR файл, который отвечает за нужную нам часть кода. В нашем случае HTCExtension.jar.
2. Открыть любым архиватором и вытащить от туда classes.dex
3. С помощью конвертера dex2jar преобразовать его в JAR файл. Команда: dex2jar.bat classes.dex
4. Открыть полученный classes_dex2jar.jar файл в JD-GUI.
5. Да, чаще всего JD-GUI декомпилирует код не так как он выглядит в оригинале, оно и понятно, но читать вполне можно. В исходнике мы видим, что подпрограмма проверяет параметры проекта и языковой флаг прошивки. В нашем прискорбном случае возвращается значение TRUE.
6. Чтобы сделать патч, нам надо дизассемблировать сам Dalvik код. Для этого используем baksmali. Удобнее всего создать отдельную папку и положить туда три файла вместе: HTCExtension.jar, smali.jar и baksmali.jar. Даем команду java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- это API вашей версии Android. Для JB - это 16
- папка, где находятся все фреймворки прошивки.
В моем случае это была команда
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7. В нашей вновь созданной папке появилась папка HTCExtension, а в ней наши файлы с Dalvik кодом.
8. Отыскиваем файл по пути \com\htc\util\contacts\BuildUtils$Customization.java и смотрим код:
9. Страшно, не правда ли? Ничего же не понятно. Но, это дело поправимое. Создав несколько своих патчей и набив тем самым руку, вы легко сможете модифицировать код без сторонних средств. В нашем случае, в этом коде
происходит присваивание переменной v0 значение 1, то есть TRUE. Далее идут всякие проверки, и если телефон не китайский, то значение переменной изменяется:
10. Самый простой способ спасти отца русской демократии, это изменить код на следующий:
, то есть поменять значение переменной с 1 на 0. То есть что бы ни было, всегда бы возвращалось значение FALSE и в JD-GUI код выглядел бы как
11. Да, метод ,будет работать. Но мы же не ищем легких путей - это раз. Во-вторых не совсем красиво. Хочется кода что-то вроде
12. А как нам получить Dalvik код данного исходного кода? Для новичков мы сделаем небольшой трюк.
Создание Dalvik кода
1. Открываем Android SDK.
2. Создаем новый проект, и в наш единственный тестовый класс пишем следующий код
3. Компилируем наш проект и затем берем собранное приложение из рабочей области.
4. Кладем собранное приложение в папку, где мы с вами потрошили JAR файл.
5. Даем команду
8. Все, код для патчинга готов.
Накатывание патча
1. Dalvik код замусорен маркерами, указывающими строку кода в оригинальном исходном файле. Это нужно при выводе ошибок, если таковые имеются в вашей программе. Без указаний строк код также прекрасно работает.
2. Удаляем строки с нумерацией строк, копируем и заменяем метод (подпрограмму) в нашем \com\htc\util\contacts\BuildUtils$Customization.java файле.
3. Сохраняем файл. Да, забыл сказать, редактор нужен нормальный, например Notepad++ или EditPlus. Кому какой нравится.
Компиляция и сборка патченного JAR файла
1. С помощью backsmali мы распотрошили наш JAR файл, а теперь его надо собрать обратно.
2. Даем команду java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3. В нашей папочке появляется файлик classes.dex
4. Снова открываем HTCExtension.jar файл архиватором и заменяем в нем существующий classes.dex на наш только что созданный.
5. Все, наш HTCExtension.jar содержит модифицированный программный код.
Замена оригинального файла на патченный
Обычно, для рядовых пользователей создаются специальные скрипты, которые через recovery заменяются. Но нам такое не интересно. Во-первых долго и нудно, во-вторых мы же опытные пользователи и можем себе позволить некоторые тонкости.
1. Заменить текущий рабочий файл можно следующими командами, если у вас уже стоит DEODEX прошивка и имеется root доступ:
2. Спасибо что дочитали до этого пункта, осталось немного.
3. После перезагрузки ваш новый патченный код вступит в силу.
4. Если код не работает или выскакивает ошибка, то путем не хитрых комбинаций можно вернуть назад резервную копию.
Эпилог
Да, кому-то показалось данная статья слишком специфичной, кому-то мало-понятной, а кому-то бесполезной. Я специально обошелся без углубленной детализации и иллюстраций как это все выглядит в живую и на практике. Во-первых, данный труд будет неблагодарный и только породить еще больше вопросов. Во-вторых, не хочу видеть армию пользователей на форумах, которые жалуются, что убили свой телефон.
К следующей статье я расскажу как делать Твики. Будет пример использования автоматической записи телефонных звонков родными средствами телефона. Спасибо за ваше внимание.
Что такое прошивка под Евро 2?
Состав и уровень вредных компонентов, из которых состоит выхлоп, контролируется законодательно. Ездить на машинах, где указанные требования не соблюдены – запрещено.
Первоначальный стандарт назывался Евро 0. Раз в несколько лет требования ужесточаются, регламент корректируется. Сегодня, в 2020-м, в Евросоюзе уже действует Евро 6. Наша страна отстает от Европы на 5-7 лет, а потому, пока, требует от автомобилей соответствия классу Евро 5.
Что дает прошивка под Евро 2, помимо очевидного увеличения количества токсичных выбросов в окружающую среду? Зачем вредить природе, вносить свою лепту в ежедневный сизый смог над мегаполисами и непредсказуемый процесс глобального потепления?
Ниже мы обязательно приведем плюсы и минусы прошивки Евро 2, а сейчас, озвучим некоторые цифры. Предельные значения загрязняющих веществ в выхлопе у Евро 5 следующие:
- 0,05 г/км к углеводородам;
- 0,8 г/км к углекислому газу;
- 0,06 г/км к оксидам азота;
- 5 мг/км к выбросам твердых частиц.
А теперь посмотрите на нормы по выбросам у Евро 2:
- 0,29 г/км к углеводородам (почти в 6 раз выше);
- 2,2 г/км к углекислому газу (почти в 3 раза выше);
- По оксиду азота, норм, вообще, нет;
- На 70% выше пятого экологического класса.
Бензиновые и дизельные двигатели загрязняют окружающую среду, это неоспоримый факт.
Для чего нужна прошивка под Евро 2?
Так все же, что дает прошивка под Евро 2?
В автомобиле экологические стандарты поддерживаются электронным блоком управления (ЭБУ). Правильные настройки программы устанавливаются на заводе изготовителе.
Современные нормы токсичности, увы, заглушают динамику автомобиля. Машина теряет резвость, ходовые способности, мощность.
Движок и другие системы, из-за таких программных параметров, по факту, работают на средних возможностях. Именно поэтому многие автовладельцы, по отзывам, и стремятся откатить к прошивке под Евро 2. Другими словами, выполнить чип тюнинг ЭБУ под более низкий экологический класс.
Но это не основная причина.
В каждой машине, для нейтрализации количества выхлопов, устанавливаются катализатор и противосажевые фильтры. Также, в выхлопную систему внедряется кислородный датчик. Именно он анализирует состав вредных газов и передает информацию блоку управления.
Перед автовладельцем встает 3 выбора:
От вышедшего из строя узла все равно придется избавиться. Хотя бы потому, что ездить с напрочь забитым катализатором, с полностью выгоревшим напылением, неблагоприятно для двигателя. Если не хотите в будущем столкнуться с его капремонтом, конечно.
Стоимость услуги
- Средняя цена на прошивку авто под Евро 2 составляет 2,5-10 тыс. р. Зависит от марки и класса автомобиля. Чем дороже и премиальнее тачка, тем выше стоимость ее чип тюнинга.
- Стоимость замены катализатора мы озвучили выше – 100-150 тыс. р.;
- Обманка на кислородный датчик обойдется в 500 р., плюс/минус 200.
Замена катализатора – решение, конечно, благородное, для окружающей среды, уж точно. Правда, самое дорогостоящее.
Стоит ли делать прошивку?
Итак, тем, кто решил прошить блок управления на Евро 2, мы озвучили цену и кратко рассказали суть процедуры. Теперь, чтобы окончательно понять, делать ее или нет, конкретно, озвучим плюсы и минусы.
Плюсы
- Тачка станет более мощной, резвой, приближенной к спортивной;
- Прирост динамики будет ощущаться по всем категориям;
- Сократится время разгона автомобиля до 100 км/ч;
- Одновременно с увеличением мощности, снизится расход топлива;
- Уменьшится потеря крутящего момента;
- Ходовые качества изменятся в лучшую сторону: машина пойдет плавнее, ровнее, без рывков;
- Электронные процессы станут работать на максимуме своих возможностей.
Минусы
- Во всем цивилизованном мире прошивка Евро 2 запрещена. Это значит, продать такой автомобиль за рубеж вы уже не сможете;
- Тачка слетит с сервисной гарантии (если она до сих пор на договоре);
- Возрастет количество и уровень токсичных веществ в выхлопе;
- Возрастет нагрузка на глушитель, повысится его шумность;
- ЭБУ станет хуже адаптировать некачественное горючее. Со временем (в отдаленном будущем), это приведет к проблемам с двигателем.
Как сделать прошивку под Евро 2?
Выполнить прошивку машины на Евро 2 можно в специальном тюнинговом ателье или своими руками. Последнее требует предварительного вдумчивого и тщательного погружения в теорию, а также подготовки необходимого оборудования.
Вспомним, сколько стоит прошить машину под Евро 2: в среднем, цена вопроса – 3-5 тыс. р. Не дешево, но и не дорого. Зато получите гарантированный результат при минимуме рисков.
Удаление катализатора и противосажевых фильтров лучше доверить профессионалам.
Итак, если вас, все же, интересует прошивка авто под Евро 2 своими руками, ознакомьтесь с краткими этапами процедуры:
- Понадобится хороший ноутбук с полным зарядом. На него скачивается и устанавливается программа;
- Необходимо взять в аренду программатор ЭБУ (покупать для разовой процедуры не имеет смысла, слишком дорого);
- Также нужен шнур для соединения ноутбука и программатора.
Старые автомобили требуют замены чипа в блоке управления. Последний придется распаивать и вставлять новый. Микросхему тоже нужно приобрести, чаще всего подходят ПЗУ 27С256 или ПЗУ 27С512. Продаются в чип тюнинговых ателье, на специализированных сайтах в Интернете.
Когда все изучите и подготовите, вам останется только подключить к ноутбуку программатор, последний соединить с ЭБУ через OBD2 разъем и запустить установленный софт. Двигатель во время процедуры заводят. До и после проводят диагностику блока на ошибки. Кстати, у нас есть подробная статья на тему выполнения чип тюнинга своими руками, рекомендуем!
Стоит ли делать прошивку на Евро2? Решайте сами, выше мы озвучили все плюсы и минусы. Также рассказали, как прошить машину на Евро 2 самому, решайтесь!
Chip-tuning
детонации сгорел не один двигатель, на ХХ-ду и не много выше практически нельзя отрегулировать СО , при использовании на моторах с объемом больше 1.5, машина глохнет в пробках и др. С последним параметром был настоящий прикол. К нам приехал программист из фирмы Картюнинг , она находится не далеко от нас, по поводу регулировки фаз газораспределения на тюнинговых валах фирмы Мастер Мотор для 2112 двигла от ВАЗ. Т.К. эта регулировка у нас более точней , чем у них. Мотор был 1700 (машина 2111 в личном пользовании программиста). Естественно завязался разговор о программном обеспечении для конкретного мотора. Я спросил как он борется с проблемой "пробок", т.к. мы использовали его прошивки, когда только начинали работу с 2112 моторами. Оказалось, что проблема до сих пор не решена. Я показал какой параметр нужно для этого изменить.
Появилась новая серийная прошивка J5V05L19 , фазированный впрыск, широкополосный датчик детонации, диагностика исполнительных механизмов (драйверная диагностика), определение пропусков воспламенения, улучшенные алгоритмы работы кондиционера, работа на холостом ходу, а самое главное - улучшен запуск двигателя во всех температурных режимах, особенно при отрицательных температурах . На конец-то ребята с ВАЗа сделали это. Не прошло и пяти лет. Поэтому мы прелагаем владельцам двигателей 2112 с контроллером Январь 5.1 заменить прошивку на новую, что актуально перед наступающими холодами.
Прошедшие холода показали несовершенство запуска в J5V05L19. На некоторых машинах моторы отказывались заводиться при температурах ниже 17 град. Анализ показал, что подача топлива была меньше чем нужно. Вот так как всегда хотели как лучше, получилось как всегда. То больше, то меньше. Но на ВАЗе опять появилась новая прошивка - J5V05M30. Очень много изменений, фаза впрыска, ХХ, и др., в том числе и по пуску.
По просьбе одного из посетителей сайта я сделал прошивку V5D13J29 для блоков VS5.1 от Ителма , бесплатно, т.к. в Интернете ничего нет. От пошивки №29 одно только название. Ставить не правильные калибровки зажигания у меня не поднялась рука, поставил свои. Прибавка мощности не мене 8%, улучшены пусковые характеристики.
Один из посетителей сайта из Питера прислал мне две демо версии прошивок для контролера Январь 2111-1411020-61 с ограниченным количеством запусков. Прошивки были присланы из разных источников и как он уверял абсолютно разные. Но анализ программой CTPro 3.0 показал, что в прошивках изменены только идентификационные данные, т.е. названия, и перемешаны карты калибровок по разному . В остальном калибровки похожи как братья близнецы. Калибровки в принципе не плохие. Прибавка мощности составит где-то 8 % Н е знаю как с расходом топлива, можно попробовать, во всяком случае мотор не испортит. Опережение зажигания в среднем прибавлено на 3 градуса. Желательно ездить на АИ 95, хотя можно и на 92, но мощность будет поменьше и следить нужно за детонацией на высоких оборотах. Я подправил кое какие ошибки и назвал J5D03I26 .
Недавно считатал с блоков две прошивки. Первая J 5 V 07 A 01, вторая знаменитая J 5 D 07 T 02 . Обе для двигателей 2112. Но в первой в комплектации не указан ни датчик кислорода, ни потенциометр СО . С чем она должна работать не понятно. Вторая без ДК с СО. C прошивкой T 02 ко мне обратился клиент с жалобой на не устойчивый ХХ и большой расход топлива. Хотя в рекламе CHIPTUNER -а говорилось об обратном .
Случайно мне достались прошивки для блоков от Ителма старой и новой комплектации. Прошивки коммерческие и их продают по 1000 р. за штуку. Вот их описание:
V5D13Z09-72 - Экстремальный вариант предыдущей версии Z03. Резвее и динамичнее, но расход увеличен на 1-1,5 л.
Версия Z09 для "старых" контроллеров с прошивками V5V13I02/V5V13J02.
V5D13Z03-72 - Динамичная и резвая версия, по характеру напоминающая известную J5D13Т71 для Января 5.1.1
Версия Z03 для "старых" контроллеров с прошивками V5V13I02/V5V13J02.
V5D07Z19-42 - Новая версия с программной поддержкой RCO (внешний СО - потенциометр не поддерживается). Безлямбдовый протокол обмена с диагностикой. Динамичная.
V5D07Z17-42 - Версия с программной поддержкой RCO (внешний СО - потенциометр не поддерживается). Безлямбдовый протокол обмена с диагностикой. Динамичная.
V5D13Z22-62 - Версия с программной поддержкой RCO (внешний СО - потенциометр не поддерживается). Безлямбдовый протокол обмена с диагностикой. Динамичная.
Это были прошивки под блоки старой комплектации. Вот прошивки под блоки новой:
V5D13L07-72N - Динамичная, эластичная версия с очень ровным ХХ, ср. расход 7,5 л. На основе серийного софта L05 Может работать без переделки проводки на 16V (в блоках 42 и 62 новой аппаратной реализации)
V5D13V09-72N - Экстремальный вариант предыдущей версии V03. Резвее и динамичнее, но расход увеличен на 1-1,5 л.
Версия V09 для "новых" контроллеров с серийной прошивкой V5V13K03/L05.
V5D13V03-72N - Динамичная и резвая версия, по характеру напоминающая известную J5D13Т71 для Января 5.1.1
Версия V03 для "новых" контроллеров с серийной прошивкой V5V13K03/L05.
V5D07X09-42N - Динамичная, очень эластичная и относительно экономичная прошивка для новой реализации VS (на замену прошивки V5V05М30).
Версия без ДК, с программной поддержкой RCO (внешний СО - потенциометр не поддерживается).
V5D05X07-42N . - Динамичная, очень эластичная и относительно экономичная прошивка для новой реализации VS (на замену прошивки V5V05М30). Частичная поддержка ДК
V5D13X09-62N - Динамичная, очень эластичная и относительно экономичная прошивка для новой реализации VS (на замену прошивки V5V03L25).
Версия без ДК, с программной поддержкой RCO (внешний СО - потенциометр не поддерживается).
V5V03X07-62N - Динамичная, очень эластичная и относительно экономичная прошивка для новой реализации VS (на замену прошивки V5V03L25). Частичная поддержка ДК.
У меня есть целая коллекция различных прошивок. Но разбираться в них некогда. Кому надо вышлю всю целиком. В коллекции есть обычные и двухрежимные прошивки, в том числе газ-бензин. Серии T, U, Z и др. Практически все прошивки коммерческие. Продают их обычно по 1000р. за одну. В коллекции их около сотни. В коллекцию добавлены новые прошивки для блоков Bosch 797 и Январь 7, в том числе Январь7-RCO. Сам я ими не пользуюсь, так как у меня самого достаточно хорошо получается. Весит она 8,5 Mb . Пересылка не бесплатна - 1000руб . К ней прилагается диагностическая программа AvtoVAZ NEW, позволяющая диагностировать Bosch 797.
Прошивки в Коллекцию я собрал из любопытства. Самые лучшие прошивки с ЧипТюнера , есть и из Тольятти конструктора Закиева . Я сам по ним учился много лет назад, когда только начал осваивать эту технику. Но они все построены под местные условия (бензин . а тмосферное давление и др.).
Например, здесь находится папка со сдвоенной прошивкой (динамик - эконом) J5D07T22 для блока 41. Прошивка разрезана и размешана с картами размеса . Прошивки в Коллекцию я собрал из любопытства. Самые лучшие прошивки с ЧипТюнера и из Тольятти конструктора Закиева . Я сам по ним учился много лет назад, когда только начал осваивать эту технику. Но они все построены под местные условия (бензин . а тмосферное давление и др.).
G-tech Pro
Недавно мы приобрели прибор G-tech Pro фирмы Tesla . Прибор довольно дорогой, Мы его долго планировали приобрести. Наконец это произошло. Его возможности превзошли все наши ожидания.
Это практически незаменимый инструмент для чип-тюнинга и тюнинга двигателя и трансмиссии в целом. Особенно для тех кто занимается Drag Racing . Он не требует инсталляции. Все что нужно это прилепить его к лобовому стеклу и подключить адаптер к прикуривателю. Он измеряет обороты двигателя, ускорение автомобиля, через спутник измеряет пройденный путь и мгновенную скорость автомобиля. Делает отметки через 20, 100, 200, 300 и 400 метров. Разгон до 100 км в час. Есть светофор для старта, по нему он измеряет реакцию задержки на старте. При веденной массе автомобиля и замеряет мощность и крутящий момент на колесах. Данные можно в водить компьютер и сравнивать их между собой. Параметры можно представлять в метрическом виде. Практически он заменяет собой мощностной стенд, который стоит на два порядка дороже.
одной и той же машины с разными программами. Например в прошивках черной и синей линиями показана одна и та же калибровка с разным опережением зажигания. У синей зажигание на 4 градуса раньше , что привело к детонации, и как следствие потери мощности.
Читайте также: