Как переделать прошивку android

Как переделать прошивку android

1. Set up working folder from ROM
2. Add root permissions
3. Add BusyBox
4. Disable boot screen sounds
5. Add wireless tethering
6. Zipalign all *.apk files to optimize RAM usage
7. Change wipe status of ROM
8. Change name of ROM
9. Check update-script for errors
10. Show working folder information

0. Advanced Options
99. Build ROM from working folder

00. About/Update kitchen
0. Exit

11 — Deodex files in your ROM
12 — Add task killer tweak for speed (stock ROM only)
13 — Add /data/app functionality
14 — Add Nano text editor + sysro/sysrw
15 — Add Bash (command shell)
16 — Add Apps2SD
17 — Add /etc/init.d scripts support (busybox run-parts)
18 — Add custom boot animation functionality
19 — Porting tools (experimental)
20 — Tools for boot image (unpack/re-pack/etc.)
21 — Unpack data.img
22 — Sign APK or ZIP file(s)
23 — Convert update-script or updater-script
24 — Miscellaneous optins / Plugin scripts

0 — Back to main menu

1. Создать рабочую папку из ROM’а
2. Добавить root права
3. Добавить BusyBox
4. Отключить экран загрузки звуков
5. Добавить фунцию создания Wi-Fi роутера из телефона
6. Zipalign все «.apk» фаилы, проще говоря сжать
7. Сменить wipe статус ROM
8. Сменить название версии ROM
9. Проверить update-scrypt на наличие ошибок
10. Посмотреть информацию рабочей папки

0. Дополнительные функции
99. Собрать ROM из рабочей папки

00. О кухне/обновить
0. Выход

11 — Сделать DeOdex системы
12 — Добавить убийцу задач для повышения скорости (только для стоковых прошивок)
13 — Добавить функциональную папку «/data/app»
14 — Добавить текстовый редактор Nano + sysro/sysrw
15 — Добавить Bash (командная строка)
16 — Добавить Apps2SD
17 — Добавить поддержку скриптов «/etc/init.d» (необходим busybox)
18 — Добавить анимацию загрузки
19 — Инструменты для портирования (эксперементально)
20 — Инструменты для ядра (распаковка/перепаковка/и.т.д.)
21 — Распаковка data.img
22 — Подписать «.apk» или «.zip» файлы
23 — Конвертировать update-script в updater-script
24 — Запуск сценариев/плагинов

0 — Вернуться в главное меню

  • Если кернел, который вы хотите использовать закрыт в «.img» файле (т.е. «boot.img»), то делайте следующее:
    1. Переименуйте его в «boot.img».
    2. Замените с текущим «boot.img», который находится в вашей кухне.
    3. Так же заменяем модули (если есть).
  • Если вы хотите «пересадить» кернел из одного «boot.img» в ваш существующий «boot.img»:
    1. В «Advanced options», выберите опцию ”unpack boot.img” из ”any folder” (любая папка).
    2. Поместите новый boot.img внутрь этой папки, то есть вы можете извлечь кернел (zImage).
    3. Затем выберите опцию ”unpack a boot.img from your working folder”. Это создаст папку «BOOT-EXTRACTED».
    4. Скопируйте zImage (из нового boot.img) в папку «BOOT-EXTRACTED».
    5. Выберите опцию «Re-pack the boot.img».
    6. Ваш «boot.img» в рабочем фолдере получил новый кернел.
    7. Пользуйтесь предыдущим описанием, если Вам нужно также скопировать модульные файлы, если они включены в «упаковку».
  • Если новый кернел сам по себе и не находится в «boot.img» (т.е. zImage или boot.img кернел), далее описание, как добавить в рабочий фолдер в кухню:
    1. В меню «Advanced options» выберите опцию «unpack the boot.img» из рабочей папки.
    2. Скопируйте кернел файл в созданную папку «BOOT-EXTRACTED» и переименуйте файл в ”zImage”.
    3. Выберите опцию «re-pack the boot.img».
    4. Ваш рабочий фолдер «boot.img» стал с новым кернелом.
    5. Если кернел идет с другими файлами, такими как ”*.ko files для /system folder”, то скопируйте их в соответствующие местоположения.
  • Кидаем программы в «рабочая папка/system/app» с заменой если потребуется.
  • Устанавливаем их в data:
    1. В «Advanced options» выбираем «Add /data/app functionality», после этого создаётся папка «рабочая папка/data/app».
    2. В неё кидаем программы.

В теме нет куратора. Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать Куратором (предварительно изучив шапку темы и все материалы для кураторов).
До назначения куратора, по вопросам наполнения шапки, обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.

Сообщение отредактировал vaalf — 04.09.18, 19:26

Тема постепенно будет наполнятся по мере накопления знаний.

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

Если есть поправки — не стесняйтесь, пишите.

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

Сообщение отредактировал kelt525 — 23.07.16, 10:28

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

имеем пакет AIO 1.1, ядро в нем 150#1 со стоковыми частотами, можно ли все оставить тоже самое но верхнюю частоту задрать например до 1.8 или 1.9 ? :blush:

Как перепрошить Aндроид: подробная пошаговая инструкция

фото "Как поменять прошивку на Android"

Ошибки Android

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

Что такое прошивка?

Прошивка android – установка программы на микрочип устройства. Такая манипуляция выполняется на заводе-производителе. Исходя из этого, несложно догадаться, что перепрошивка – обновление программы. Манипуляцию выполняют в следующих ситуациях:

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

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

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

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

До начала нужно выполнить действия:

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

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

Прошивка телефона при помощи CWM Recovery

Если говорить о том, как прошить android при помощи CWM Recovery, то на устройство сначала необходимо установить соответствующую утилиту. Далее выполняется манипуляция:

  1. Осуществляется вход в R Чтобы выполнить такую манипуляцию, устройство отключают. Далее нажимают некоторые клавиши для входа в программу. Комбинация зависит от производителя гаджета. Какой именно набор подходит для того или иного устройства, можно определить экспериментальным путем. Для этого следует выполнить одну комбинацию, а если это не дает результат, то попробовать другой вариант. Можно нажать следующие клавиши:
  • увеличение громкости и отключение;
  • уменьшение громкости и отключение;
  • увеличение или уменьшение громкости и отключение, а также «домой»;
  • обе клавиши громкости и отключение.

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

  1. Выполняется сброс всех настроек до тех, которые были установлены на заводе первоначально. В меню выбирается пункт «wipe data/factory rese» и подтверждается совершенное действие. Обычно система выдает строку, в которой одним из вариантов стоит yes или ok;
  2. Далее последовательно выбираются следующие пункты меню: «Install zip» — это первое действие и «Choose zip from /sdcard» — это второе действие. После этого следует выбрать тот файл, в котором была сохранена изначальная прошивка. Далее подтверждаются действие.
  3. Предыдущее действие запускает процесс перепрошивка системы. По его окончанию на экране высветиться Install from sdcard complete.
  4. Выполняется вход в программу CWM R После этого гаджет рекомендуется перезагрузить. Однако сделать это можно не с помощью кнопки включения, а выбрав в меню пункт «reboot system now».

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

фото "CWM Recovery"

Как прошить телефон андроид при помощи TWRP Recovery?

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

  • Выполняется перемещение файла, в котором сохранились данные о прошивке гаджета, в память телефона, чтобы потом можно было его извлечь и запустить обновление;
  • выполняется вход в программу так же, как и в случае с CWM, то есть используют для этого различные комбинации клавиш: уменьшение или/и увеличение громкости + отключение, увеличение или уменьшение громкости и отключение, а также «домой», обе клавиши громкости и отключение;
  • производится сброс программ до первоначальных настроек, а по завершении действия выполняется переход в главное меню TWRP Recovery;
  • выбирается пункт «Install» и запускается файл с изначальной прошивкой, который в самом начале был сохранен в памяти устройства.

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

Читайте также  Как настроить push уведомления на android

Установка обновлений при помощи ROM Manager

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

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

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

  • архив прошивки переносят в память гаджета с помощью ZIP расширения;
  • выполняют вход в утилиты;
  • выбирают действие установить ROM с карты SD;
  • отыскивают архив прошивки и выбирают этот файл;
  • в меню выбирают пункт для установки новой программы и автоматической перезагрузки гаджета.

После подтверждения действия запускается процесс перепрошивки устройства.

фото "ROM Manager"

Как прошить андроид через компьютер?

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

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

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

Краткая инструкция по установке ZIP прошивки при помощи Fastboot

В данном случае рекомендуется придерживаться следующего алгоритма:

  • выполняется копирование архива ZIP с файлом первоначальной прошивки в заводских условиях, и он перемещается в папку с ADB;
  • активизируется утилита Fastboot и в соответствующей строке вводится данные значения: fastbooflash zip имя_файла.zip.

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

фото "Fastboot"

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

Самостоятельное создание прошивки для Android

Как самому сделать прошивку для Андроид

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

Создание прошивки для Android

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

Шаг 1: Установка Recovery

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

Установка кастомного рекавери на Android устройство

Шаг 2: Выбор прошивки

Помимо добавления загрузчика с возможностью сохранения доступа к файлам нужно найти прошивку, совместимую с вашим девайсом. В этом вопросе трудно дать какие-то конкретные советы, так как существует огромное количество смартфонов и не менее большой ассортимент прошивок. Проще всего найти подходящий вариант, посетив раздел «Android» на русскоязычном форуме 4PDA или на англоязычном ресурсе XDA Developers.

Просмотр списка прошивок на форуме 4PDA

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

Шаг 3: Подготовка системы на ПК

Специальное ПО для компьютера, о котором пойдет речь в следующем разделе, в равной степени совместимо с ОС Windows, Linux и MacOS. Наиболее удобный метод сводится к использованию систем на основе Linux, в то время как на Виндовс потребуется ряд дополнительных действий и программ. В связи с куда большей распространенностью второго варианта, именно ОС Windows мы уделим внимание.

    Посетите официальный сайт Oracle и загрузите программное обеспечение JDK в соответствии с разрядностью вашей операционной системы.

Установка JDK на компьютер

Извлечение папки Cygwin на компьютере

Запуск файла установки Cygwin на компьютере

Выбор локальной директории для Cygwin на компьютере

Выбор папки для Cygwin на компьютере

Выбор папки с плагинами для Cygwin на компьютере

Выделение плагинов для Cygwin на компьютере

Дальнейшие действия по установке Cygwin производятся в автоматическом режиме.

Установка Cygwin на компьютере

Завершение установки Cygwin на компьютере

Запуск Cygwin от имени администратора на компьютере

Подготовка файлов Cygwin на компьютере

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

Шаг 4: Использование Android Kitchen

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

    Загрузив «кухню» на компьютер, извлеките папку из архива так же, как и на прошлом этапе.

Извлечение папки Android Kitchen на компьютере

Переименование папки Android Kitchen на компьютере

Примечание: Вместо «user» папка будет названа в соответствии с именем пользовательской директории в системе.

Перенос папки Kitchen на компьютере

Перенос файла прошивки в папку Android Kitchen

cd kitchen
./menu

Закройте «кухню» и переходите к следующему этапу.

Шаг 5: Сборка прошивки

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

    В главном меню Android Kitchen введите «0» и нажмите «Enter», чтобы перейти к расширенному списку параметров.

Переход к расширенным параметрам в Android Kitchen

Работа с прошивкой через Android Kitchen

Завершив процедуру редактирования, можно приступать к прошивке устройства.

Шаг 6: Установка прошивки

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

Прошивка смартфона через CWM Recovery

Заключение

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

Мы рады, что смогли помочь Вам в решении проблемы.

Помимо этой статьи, на сайте еще 12360 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Модификация стоковых прошивок для Android. Часть 1

Несколько лет назад, когда я впервые познакомился с 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 кода.

Читайте также  Вывод изображения с android на компьютер
Преобразование прошивки

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

После того, как прошивка из оптимизированного вида (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, а класс, который содержал данную подпрограмму находился в comhtcutilcontactsBuildUtils$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:devAndroidAndroid-KitchenWORKING_JB_15systemframework -o HTCExtension -x HTCExtension.jar
7. В нашей вновь созданной папке появилась папка HTCExtension, а в ней наши файлы с Dalvik кодом.
8. Отыскиваем файл по пути comhtcutilcontactsBuildUtils$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. Удаляем строки с нумерацией строк, копируем и заменяем метод (подпрограмму) в нашем comhtcutilcontactsBuildUtils$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 доступ:

1-ая команда закидывает патченный файл на флешку
2-ая команда открывает shell
3-ая команда дает root доступ
4-ая команда монтирует систему в режим чтения/записи
5-ая команда делает резервную копию файла
6-ая команда перезаписывает существующий файл новым патченным.
7-ая команда настраивает разрешения
8-ая команда удаляет кэш
9-ая команда делает перезагрузку устройства.

2. Спасибо что дочитали до этого пункта, осталось немного.
3. После перезагрузки ваш новый патченный код вступит в силу.
4. Если код не работает или выскакивает ошибка, то путем не хитрых комбинаций можно вернуть назад резервную копию.

Эпилог

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

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

Как сделать кастомную прошивку для CWM/TWRP из заводской [Инструкция / Android Kitchen]

Инструкция по созданию кастомной прошивки в виде zip архива для прошивки через кастомное рекавери при помощи Android Kitchen

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

1. Установленная и настроенная "кухня" для Android: Как установить Android Kitchen на Windows [Инструкция]
2. Прошивка для вашего устройства под SP Flash Tool (папка с файлами вроде recovery.img, system.img, scatter.txt и так далее)

Инструкция по созданию прошивки для CWM/TWRP:

1. После того как установили Android Kitchen, берёте из папки с прошивкой файлы system.img и boot.img и копируете их в папку для работы с прошивками, а именно kitchenoriginal_update (если не понятно где это, то установите Android Kitchen по инструкции выше, все станет ясно после)

2. Далее запускаем Cygwin и Android Kitchen. Запускать Cygwin обазятельно на правах администратора, как всё это делается я описал в инструкции по настройке Android Kitchen, так что сначала установите "кухню", потом всё станет ясно

3. После того как вы вошли в меню Android Kitchen, выбираем первый пункт, то есть:

6. Итак делаем что написано, в открывшемся окне Ext2Explore выбираем File -> Open Image и выбираем C:cygwinhomePC_UserkitchenWORKING_032915_064017systemext4_system.img . После чего в левой части Ext2Explore , делаем правый клик по пункту и выбираем Save (см. скриншот ниже), после чего указываем путь для сохранения распакованных файлов, а именно C:cygwinPC_UserkitchenWORKING_032915_064017system (начнётся распаковка, которая может занять некоторое время, не прерывайте).

Читайте также  Как настроить вай фай на смартфоне андроид

7. После того как распаковка окончена, закройте окно Ext2Explore и нажмите Enter в окне Android Kitchen. Начнется завершающая стадия распаковки прошивки после которой вам будет предложено посмотреть информацию о данной прошивке, для выбора опции нажмите "y":

16. Всё, прошивка создана, и находится в папке с кухней OUTPUT_ZIP/A369i_signed_032915_073536.zip . Копируем архив целиком и переносим в отдельную, удобную для вас папку. Теперь надо редактировать updater-sсript. Android Kitchen можно закрыть.

17. Распаковываем содержимое нашей прошивки в отдельную папку и видим следующее:

18. Заходим в папку META-INFcomgoogleandroid и открываем при помощь любого текстового редактора файл updater-sсript (бесплатный Note++ вполне подойдёт, при помощи блокнота лучше не открывать, там все в кучу сбивается, я использую Sublime Text 2). Находим в файле две следующие строки, которые нам надо поменять:

Важно: я специально выделил красным цветом самое важное. Это точка монтирования "system" на моём устройстве, на Lenovo A369i, для вашего устройства эти данные могут отличаться. Поэтому, чтобы узнать какой блок у вас отвечает за "system", нам надо выполнить команду "dumchar_info" через adb, как это сделать написано более подробно здесь: Как получить dumchar_info (информация о блоках системы), читаем только первый пост и устанавливаем только adb драйвера и adb инструменты, остальное не надо.

Итак после того как вы получили данные из dumchar_info, посмотрите путь куда у вас смотнирован "android" (это и есть system в dumchar_info) и отредактируйте две строки в updater-sсript соответственно:

Важно: точку монтирования раздела можно получить без dumchar_info, а просто через MTK Droid Tools (нажмите на ссылку)

19. Всё, после того как вы отредактировали updater-sсript, закройте его и сохраните изменения. Теперь нам надо запаковать прошивку, просто возьмите и выделите все три файла прошивки и добавьте их в архив (обязательно zip архив, а не rar или 7z):

20. Почти всё, но не совсем. Далее пробуем прошивать прошивку через кастомное рекавери. Обязательно сначала сделайте в рекавери полный бэкап! . Если вылетает ошибка Status 0 или Status 1 , то, скорее всего у нас неправильный update-binary , который находится там же где и updater-sсript , то есть META-INFcomgoogleandroid . Поэтому пробуем менять update-binary и снова запаковывать прошивку и снова пробывать поставть. Лучше всего взять update-binary из другой кастомной прошивки на ваше устройство, но если нету, я залил во вложений другие update-binary, которые должны подойти, пробуйте их. Вообще update-binary, это файл который трансформирует в понятные для системы команды, указания из updater-sсript, то есть указания по установке прошивки.

21. Всё, ваша первая кастомная прошивка на MediaTek устройство готова . Можно конечно еще было добавить root и busybox и еще чего в Android Kitchen, но я через эти пункты не шел, там все понятно в принципе в меню, если захотите добавите сами.

Сборка прошивки на Android своими руками

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

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

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

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

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

Создание прошивки с исходного кода

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

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

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

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

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

Далее нужно установить кухню на свой компьютер. Лучше всего работать под Linux, но необходимые библиотеки можно поставить и в Windows. В этом случае можно выйти из ситуации установив Cygwin. Загрузите архив и следуйте пошаговой инструкции, помещённой в архиве. Перед этим потребуется установить также Java Platform (JDK) с официального сайта (https://www.oracle.com/java/technologies/javase-downloads.html для Windows) или же в Центре приложений Ubuntu найти и скачать OpenJDK Java 6 Runtime либо похожее (для Linux). Второй вариант использования — установить Linux на виртуальную машину и управлять процессом через неё.

Модификация прошивки

Прошивки чаще всего распространяются в виде файла с расширением .img, реже — как ZIP-архив. В обоих случаях вам понадобится переместить файл с прошивкой в папку установленной кухни, чтобы она смогла импортировать её и начать с ней работу. Кухня должна быть установлена по пути c:/cygwin/home/user/ (при установке через Cygwin) или Файловая система/home/user/ (при работе через Linux).

Установка программы Android Kitchen

  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.

Дополнительные параметры Android Kitchen

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

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

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

Прошивка устройства в режиме Recovery

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

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

Создание резервной копии системы

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

  1. Если на устройстве ещё не получен root, получите его. Как это сделать, можно прочесть на специализированных форумах в разделе, посвящённом именно вашему аппарату. Дело в том, что универсальные способы поддерживаются малым количеством устройств и большинство из них имеют индивидуальную процедуру.
  2. Установите Nandroid backup ) и сделайте с его помощью резервную копию системы своего девайса. Сохраните её в надёжном месте, например, в облачном хранилище. Для чего создавать копию? Вдруг что-то пойдёт не так или вы нечаянно удалите что-то нужное — будет возможность вернуть всё как было.

Приложение Nandroid backup для Android

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

Файловый менеджер Titanium Backup

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

  1. Скачайте интересующий вас файл прошивки в формате .zip.
  2. Установите файловый менеджер, умеющий работать с архивами, например, ES Проводник или Total Commander, и распакуйте содержимое архива.
  3. Удалите лишние или добавьте недостающие приложения, после чего запакуйте архив обратно и переместите в корень флеш-карты.
  4. С помощью Nandroid backup ) создайте резервную копию системы и скопируйте её на облачный диск.
  5. Прошейте устройство из режима Recovery.

Заключение

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

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: