sonyps4.ru

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

Всем привет! Сегодня мы с вами рассмотрим самые простые и удобные методы перепрошивки вашего смартфона (или планшета).

Статья разделена на следующие разделы:


Зачем нужна перепрошивка?

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

Какие есть способы прошивки?

Всего их два, но каждый в свою очередь разделяется еще на несколько.

  1. Прошивка с помощью телефона.
  2. Прошивка с помощью компьютера.

Сейчас мы с вами рассмотрим несколько методов прошивки с использованием ПК.

Необходимая подготовка перед процессом прошивания

Все это нужно сделать, дабы не было срывов установки новой ОС.

  • Полностью зарядите устройство и ваш компьютер;
  • Сделайте резервную копию старой ОС;
  • Проверьте исправность USB-провода.

Делаем бэкап

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

  1. Зайдите в настройки вашего устройства.

2. Выберите пункт «Сведенья о системе» и раздел «Память».3. Теперь нажмите кнопку «Резервная копия».

4. Теперь все просто: сделайте бэкап, выбрав нужные для сохранения пункты, как показано на картинках.

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

Прошивка с помощью FASTBOOT

Теперь, когда все возможные меры безопасности предприняты, можно приступать к прошивке.
Для начала скачайте Fastboot на компьютер. Загрузочную папку программы сделайте в корневом каталоге диска С. Например, С:\fastboot. В этом случае вам будет проще прописывать место нахождения прошивки в дальнейшем.

Установочный файл можно скачать по ссылке (утилита для отладки Android).

Сначала разблокируем Bootloader
Bootloader – это программа вне системы андроид, которая обеспечивает доступ к ядру устройства. Его можно сравнить с BIOS на компьютере.
Разблокировав его, мы получим root-права – открытый доступ к системе. На устройствах различных производителей это делается с помощью разного программного обеспечения. Но алгоритм работы один, и он такой:

  1. Вы скачиваете и устанавливаете программу для разблокировки соответственно с производителем устройства.
  2. Затем подключаете смартфон по USB-шнуру в режиме отладки.
  3. Открываете скачанную программу, выбираете ваше устройство и нажимаете «Unlock».

Пример разблокировки
Вот пример разблокировки устройства производства компании HTC.
1. Скачайте и установите HTC Bootloader Unlock .
2. Затем подключите устройство к компьютеру в режиме отладки. Тут все довольно просто: войдите в раздел настроек «Для разработчиков» и выберите пункт «Отладка по USB».

3. Теперь откройте, скачанную программу и подтвердите отладку (на android-устройстве).

4. Осталось просто разблокировать, нажав кнопку «Unlock». На самом деле процесс можно выполнить через командную строку Windows. Это программа лишь автоматизирует процесс разблокировки.

5. Для выхода из HTC Bootloader Unlock нажмите «Finish» после окончания процесса разблокировки botloader-а.

Примечание: есть программы разблокировки для смартфона или планшета любого производителя. Например:
Nexus – Nexus Root Toolkit;
Samsung – Kies;
Sony – Sony Bootloader Unlock.
Если ваше устройство другого производителя – просто поищите в Интернете соответствующую утилиту.

Процесс прошивки

  1. Первое, что нужно сделать – подключится к компьютеру в режиме отладки по USB. Как именно это сделать, описано чуть раньше.
  2. Сначала переместите новую прошивку в каталог С:\fastboot

3. Теперь переведите устройство в fastboot mode. В командной строке введите команды, как показано на скриншоте.

4. Для того чтобы перепрошивка произошла успешно, нужно отформатировать все каталоги вашего устройства. Введите эти команды в командной строке по очереди (после каждой – «Еnter»):

  • fastboot erase boot
  • fastboot erase userdata
  • fastboot erase system
  • fastboot erase recovery
  • fastboot erase cache

5. А вот теперь уже можно и начинать прошивку. С папки с прошивкой (папка «fastboot») запустите bat-файл flash-all. Вот так это выглядит в командной строке:


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

Перепрошиваем с помощью программы ODIN MULTI DOWNLOADER

1. Для начала вам необходимо подключить телефон к компьютеру с помощью USB- кабеля, в режиме откладки. После этого обязательно запустите программу Odin Multi Downloader от имени администратора.

2. Затем укажите место расположения прошивки, которую вы хотите установить. Вот, что нужно сделать: нажмите на кнопку BOOT и выберите файл прошивки.

Примечание: если ваша прошивка состоит из нескольких файлов (в основном их три), то путь нужно указывать соответственно:
файл PDA – в поле «PDA»;
файл Phone – в поле «Phone»;
файл CSC – в поле «CSC»;
3. Теперь необходимо перезагрузить телефон. Это можно сделать с помощью комбинаций клавиш (громкость вверх + кнопка блокировки экрана + центральная кнопка). В итоге, компьютер должен распознать телефон, тем самым на экране, появиться желтое поле с названием порта COM.

4. После нажатия вами кнопки «Start» начнётся обновление системы. В это время запрещается отсоединять телефон от компьютера. В процессе установки смартфон будет перезагружаться несколько раз, но на это не стоит обращать внимания. После удачной прошивки (время которой занимает около 10 минут) на экране компьютера, появиться слово «PASS».

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

Прошивка Android-устройства LG с помощью программы KDZ UPDATER

Если у вас есть телефон или планшет от производителя LG, то его будет проще, да и правильнее, прошить с помощью программы KDZ Updater . Как именно это сделать?
1. Сначала скачайте программу KDZ Updater. Собственно, это архив, который нужно распаковать в папку, находящуюся в корне системного диска C вашего компьютера.

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

3. Обязательно установите файл политики действий под названием msxml.msi
4. Теперь включите режим отладки по USB. Как именно это сделать описано выше.
5. Переведите устройство в режим S/W Upgrade. А именно:

  • выключите его;
  • достаньте батарею;
  • зажмите клавишу уменьшения громкости и вставьте USB-кабель.
  • появится соответствующая надпись – «S/W Upgrade».

Примечания:
если войти в режим S/W Upgrade не удалось, значит, попробуйте проделать все вышеописанные действия, не вынимая батарею;
также попробуйте вместо клавиши уменьшения громкости зажать обе «звуковые качельки»;
для того, чтобы прошивка стала возможной нужно отключить программу LGE Mobile USB Modem в Диспетчере устройств.

6. Теперь пора начать перепрошивку. Запустите от имени администратора исполняемый файл программы KDZ_FW_UPD.exe из корневой папки на диске C.
Примечание: наведите на иконку программы и кликните правой кнопкой мыши. Выберите пункт «Запуск от имени администратора».

7. Установите все параметры, как показано на скриншоте и нажмите «Launch software update».

8. Через некоторое время (примерно 10 минут) прошивка завершится. Просто перезагрузите устройство и пользуйте новым интерфейсом.

Прошивка смартфонов и планшетов от Lenovo

Почему эту тему я тоже вывел отдельно? Потому, что для устройств Lenovo есть свои нюансы, которые создают определенные сложности. Однако есть и программа, которая их компенсирует. Чем именно? Простотой использования и своим интуитивно понятным интерфейсом.
Итак, начнем.
1. Вам нужна программа для прошивки SP Flash Tools. Скачайте ее .
2. Для продолжения прошивки нужно установить драйвера на устройство. Как правило, при подключении они автоматически не устанавливаются. Поэтому нужно делать это вручную.
скачайте драйвера, соответственно модели вашего устройства;
вводите в диспетчер устройств на компьютере (выше показано, как это сделать);
выключите устройство;
подключите устройство через USB-провод к компьютеру;
нажмите правой кнопкой мыши на появившееся устройство (неопознанное) и выберите пункт «Установить драйвер из указанного места»;
выберите драйвер.

3. Теперь запустите SP Flash Tool. И укажите путь исполняемому файлу прошивки (скаттер-файлу). Нажмите на «Scatter Loading».

5. И только сейчас подключите устройство к компьютеру.
6. После завершения перепрошивки вас будет уведомлено об этом, посредством появления на экране компьютера ярко-зеленого кольца.

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

Краткие итоги

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

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

Разберем частный случай и начнем по порядку. Для создания кастомной прошивки андроид потребуются:

  1. Персональный или переносной компьютер, на борту которой присутствует операционная система Ubuntu и установлена Java.
  2. «Кухня» — приложение для обработки образов системных партиций.
  3. Собственно сама, подлежащая обработке прошивка Android.

Шаг 1 — установка Ubuntu

Система Ubuntu создана на базе ядра Linux и основывается на Debian, разработана компанией Canonical. Эту систему вовсе не обязательно устанавливать вместо действующей, запускать ее через эмулятор, и так далее.

Чтобы комфортно использовать все ее преимущества, достаточно воспользоваться приложением Wubi, способным установить Ubuntu под Windows. Wubi — сокраoение от Windows Ubuntu Installer.

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

Шаг 2 — установка Java

Java – разработанный в 1995 году язык программирования, его название, по всей видимости, взято из кинофильмов (смешной народец Джава из Звездных Войн).

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

Чтобы установить ее нужно:

  1. Войти в систему Ubuntu, и открыть Терминал при помощи клавиш Ctrl+Alt+T.
  2. В открывшемся окне для ввода/вывода информации в ОС Ubuntu воспользоваться командой sudo add-apt-repository “deb http://archive.canonical.com/ubuntu lucid partner” — позволяет подключить новый репозиторий, с которого можно загрузить Java. Для этого потребуется ввести пароль для получения прав Суперадминистратора, который задается при установке Ubuntu. Далее нужно воспользоваться следующими командами:
  3. sudo apt-get update для обновления списка источников.
  4. sudo apt-get install sun-java6-jre sun java6-plugin sun-java6-fonts для установки Java.

Шаг 3 — работа с «кухней» для создания прошивки

Программа «кухни» — это основное средство для работы с прошивками андроид. Их существует несколько видов, мы рассмотрим работу с kitchen от Dsixda.

  • Скачав необходимые файлы, нужно распаковать их в домашнюю папку в каталог kitchen.
  • Запустить Терминал, при помощи команды Is вывести на его экран список документов домашней папки. Синим цветом будут выделены каталоги, красным — файлы архивов, и так далее.
  • Открыть в папку Kitchen, перенести в каталог original_update файл обрабатываемой прошивки в любом формате.
  • Возвратиться в Терминал с открытой папкой Kitchen, ввести команду Is. Среди файлов появится Menu, его следует запустить командой./menu. Здесь откроется список пронумерованных команд, которые можно выполнять, вводя их номер в строку, и нажимая Enter.
  • Чтобы разобрать прошивку, следует ввести команду 1. Кухня после этого начнет выводить множество вопросов, на которые нужно отвечать клавишей Enter (нужные значения введены по умолчанию).

Эти действия приведут в начальное меню программы. Вернувшись в папку Kitchen, можно будет найти папку «WORKING_x_y», где x и y – дата и время ее создания.

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

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

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

Вот еще несколько программ, предназначенных для этого:

  • Android SDK – среда разработки, созданная специально для работы с приложениями для Android, она позволяет проверять программный код.
  • Android Kitchen – необходима для обработки образов системных партиций в прошивке.
  • JD-GUI – декомпилятор, способный к работе с программным языком Java. Его аналог – DJ Java Decompiler.
  • smali – для работы с dalvik-кодом. Предназначена для дизассемблирования кода, backsmali позволяет произвести ассемблирование dalvik-кода.
  • dex2jar – утилита, позволяющая конвертировать исполняемые файлы, составленные на dalvik-коде.

Здравствуй Хабр!

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

Распаковка и анализ оригинального файла
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.
public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return true; return false; }
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 и смотрим код:
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297:cond_13:goto_13 return v0 .line 283:cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291:cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto:goto_13 .end method
9 . Страшно, не правда ли? Ничего же не понятно. Но, это дело поправимое. Создав несколько своих патчей и набив тем самым руку, вы легко сможете модифицировать код без сторонних средств. В нашем случае, в этом коде
.prologue const/4 v0, 0x1 происходит присваивание переменной v0 значение 1, то есть TRUE. Далее идут всякие проверки, и если телефон не китайский, то значение переменной изменяется:
.line 297 const/4 v0, 0x0 goto:goto_13
10 . Самый простой способ спасти отца русской демократии, это изменить код на следующий:
.prologue const/4 v0, 0x0 , то есть поменять значение переменной с 1 на 0. То есть что бы ни было, всегда бы возвращалось значение FALSE и в JD-GUI код выглядел бы как public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . Да, метод,будет работать. Но мы же не ищем легких путей - это раз. Во-вторых не совсем красиво. Хочется кода что-то вроде
public static boolean isChina() { return false; }
12 . А как нам получить Dalvik код данного исходного кода? Для новичков мы сделаем небольшой трюк.

Создание Dalvik кода
1 . Открываем Android SDK.
2 . Создаем новый проект, и в наш единственный тестовый класс пишем следующий код
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . Компилируем наш проект и затем берем собранное приложение из рабочей области.
4 . Кладем собранное приложение в папку, где мы с вами потрошили JAR файл.
5 . Даем команду java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Мы дизассемблировали только что собранное приложение в Dalvik код.
7 . Открываем наш файлик test.smali и видим там код
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . Все, код для патчинга готов.
Накатывание патча
1 . Dalvik код замусорен маркерами, указывающими строку кода в оригинальном исходном файле. Это нужно при выводе ошибок, если таковые имеются в вашей программе. Без указаний строк код также прекрасно работает.
2 . Удаляем строки с нумерацией строк, копируем и заменяем метод (подпрограмму) в нашем \com\htc\util\contacts\BuildUtils$Customization.java файле.
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
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 доступ:

Adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@[email protected]@classes.dex reboot

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

2 . Спасибо что дочитали до этого пункта, осталось немного.
3 . После перезагрузки ваш новый патченный код вступит в силу.
4 . Если код не работает или выскакивает ошибка, то путем не хитрых комбинаций можно вернуть назад резервную копию.
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@[email protected]@classes.dex reboot

Эпилог

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

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

P.S. Если что-то не понятно или смущает, задавайте вопросы - всегда буду рад ответить и пояснить.

Давно мечтали собрать сами своими руками прошивку Android из исходного кода, но ни как получалось из за отсутствия внятного материала? подготовил вам подробную интересную статью!

Предисловие

И так перед тем как начать повествовать статью, немного слов для кого она написана: вы уже знаете что такое Linux и установить Ubuntu, Mint, Fedora, OpenSuSe, по крайней мере устанавливали хотя бы один раз из этих ОС, уже знаете что такое командная строка или терминал, команда cd , ls , sh знакома и не вводит в ступор. Отлично, тогда продолжаем изучать статью. Статья Только для устройств Nexus!

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

Необходимое для создания Android прошивки из исходного код

  1. Компьютер или мощный ноутбук
  2. LTS версия ОС UBUNTU 64-разрядная (12.04 или 14.04)
  3. Количество свободного места в разделе /home не менее 100 GB

Не открывайте, не закрывайте, не перемещайте, делайте все как написано в инструкции — последовательно, шаг за шагом, перезагружайте компьютер когда это указано.

Подготовка

1. Перейдите в параметры системы UBUNTU

2. Раздел «Программы и обновления»

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

4. Вкладка «Другое ПО», установить галочки на Партнеры Canonical иПартнеры Canonical (исходный код)

5. Нажать внизу кнопку Закрыть и после Обновить

6. Запустить программу «Обновление приложений» и обновить систему и перезагрузить компьютер

7. Запустите терминал (горячими кнопками CTRL+ALT+T)

Для Ubuntu 16.04:

sudo apt - get install openjdk - 8 - jdk

Для Ubuntu 14.04:

Вместо android-5.0.2_r1 указывать необходимую версию Android

Загружаем исходный код на компьютер:

Данная процедура будет длится долго (не менее 3 часов) и будет загружено около 30 GB

Сборка проекта

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

source build/envsetup.sh

Перед вами появится окно со списком устройств возможных для создания AOSP прошивки, выбираем цифру и нажимаем ENTER

26. Запускаем сборку Android прошивки

make -j2 otapackage

Вместо j2 стоит указать количество ядер процессора и потоков, если процессор 2 ядреный и включена технология hyper threading (если она доступна), то у вас будет 4 потока (j4 ), если процессор 4 ядерный и выключена технология hyper threading, то также 4 потока (j4 ), а если включена то 8 (j8 ).

В зависимости от мощности и количества ядер участвующих в процессе сборки прошивки зависит и время сборки прошивки, от 20 минут до 24 суток.

Установка

27. После сборки вы обнаружите пакет в папке AOSP/out/target/product/кодовое_имя_nexus/ архив ZIP

28. Переместите данный архив ZIP на устройство NEXUS

31. Установите архив ZIP и после сделайте обязательно wipe

Вот и все! Ничего сложного нет! Статья подошла к концу, подписывайтесь социальные группы и оставайтесь вместе с сайтом !

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

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

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

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

Зачем нужна официальная прошивка?

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

Такой вид прошивки делают для быстрой настройки гаджета и установки ПО, в котором можно быть уверенным на 100%, ведь производители заинтересованы в качественной работе их устройств. С её помощью, например, можно установить «чистый» Android без разнообразных надстроек и лишнего софта.

Зачем нужны не официальные (кастомные) прошивки для Андроид?

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

Их устанавливают на телефон для:

  • получения дополнительных функций, недоступных в официальном варианте;
  • удаления ПО, которое мешает или не используется пользователем.

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

  • шрифты;
  • язык (например, установка русского языка на китайском телефоне);
  • тему устройства;
  • значки и т. д.

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

Стоит ли самостоятельно перепрошивать устройства на системе Android?

Самостоятельная перепрошивка девайса имеет ряд преимуществ и недостатков.

Преимущества самостоятельной перепрошивки

Преимущества перепрошивки устройств в домашних условиях:

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

Недостатки самостоятельной перепрошивки

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

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

  1. Потеря функциональности устройства. Некоторые функции могут не работать, например, wi-fi, отправка сообщений, или же начать работать некорректно (не будет отображаться кириллица).
  2. Невключение устройства или постоянная перезагрузка. В таких случаях устройство называют «кирпич», так как он уже не годится для использования.

Перепрошивка Android-устройства через компьютер

Прошить телефон Андроид через компьютер можно в несколько шагов:

  1. Подготовка устройства.
  2. Резервирование установленной версии Андроид.
  3. Копирование данных.
  4. Разблокировка Bootloader.
  5. Установка прошивки.

Подготовка устройства к процедуре перепрошивки

Сначала необходимо установить на устройство необходимое программное обеспечение для перепрошивания. От выбранной программы будет зависеть последовательность действий при установке прошивки. Потом нужно скачать драйверы для соответствующего девайса. Их можно найти на официальных сайтах производителей смартфонов или планшетов. ПК на операционных системах Windows 7 и выше, сами загружают необходимые драйверы при подключении смартфона к компьютеру по USB.

На сайте 4pda необходимо скачать на ПК прошивку для соответствующего устройства.

Резервирование установленной версии Android

Для создания резервной копии прошивки понадобится:


Чтобы восстановить версию Андроид, нужно зайти в программу ROM Manager, нажать «Резервные копии», выбрать бэкап и нажать «Восстановить».

Копирование данных c помощью USB

Копировать все данные с устройства через USB-кабель можно двумя способами:

  • ручным копированием;
  • с помощью программы MyPhoneExplorer.

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

Перенос данных программой MyPhoneExplorer

Сначала нужно скачать и установить программу MyPhoneExplorer

Пошаговое руководство:


Для восстановления данных выбрать «Разное - Восстановить из резервной копии».

Инструкция, как правильно выполнить бэкап Андроида, подготовлена каналом PC Help.

Разблокировка Bootloader

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

Нужно провести следующие действия:

  1. Скачать программу ADB Installer
  2. Установить в папку Android в корне диска С:.
  3. Подсоединить устройство к ПК через USB-кабель и включить отладку по USB.
  4. Зайти в сmd.
  5. Прописать команду для перехода в папку с утилитой Fastboot прописав команды cd / затем cd Android .
  6. Подождать, пока устройство войдет в режим прошивки. Проверить, видит ли Fastboot необходимый девайс: fastboot devices .
  7. Перевести устройство в режим bootloader с помощью команды: adb reboot bootloader .
  8. Далее идет регистрация на сайте HTCdev После этого нужно зайти на главную страницу и выбрать Unlock Bootloader.
  9. Нажать «Get Started», выбираем свою модель телефона или «All Other Supported Models». Кликнуть по «Begin Unlock Bootloader».
  10. Далее нужно согласиться со всеми условиями и нажать Proceed to Unlock Instructions.
  11. Пропустить 4 шаг, так как на нем инструкция на английском.
  12. Прокрутить страницу к самому низу и увидеть форму для специального «токена».
  13. Этот токен получается с помощью команды fastboot oem get_identifier_token , которую нужно написать в cmd.
  14. Этот код нужно скопировать и вставить в форму выше. После чего, будет сообщение, что токен верный, а на почту отправлен файл для разблокировки.
  15. Его нужно скопировать в папку Android, там, где установлен ADC.
  16. В cmd пишется команда fastboot flash unlocktoken Unlock_code.bin .
  17. В это время на телефоне высветится запрос на подтверждение разблокировки загрузчика. Кнопкой громкости выбрать «Yes».
  18. Телефон перезагрузится, и настройки восстановятся к заводским. Устройство с открытым загрузчиком:
  19. Установка прошивки с помощью компьютера через usb-кабель

    Существует несколько программ, с помощью которых можно установить прошивку через USB-кабель:

  • Fastboot;
  • Odin Multi Downloader;
  • KDZ Updater;
  • SP Flash Tools.

Выбор зависит от типа устройства и скорости перепрошивки.

Прошивка с помощью FASTBOOT

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

Нужно строго следовать инструкции:


Инструкция по использованию Fastboot подготовлена каналом «Все для Android, Mac, Windows, iOS».

Перепрошивка с помощью программы ODIN MULTI DOWNLOADER

Эта программа используется для перепрошивки Samsung-устройств.

Пошаговая инструкция:


В поле Message будет отображен процесс перепрошивки:

Сообщение PASS символизирует окончание прошивки.

Прошивка Android-устройства LG с помощью программы KDZ UPDATER

Для прошивки LG с помощью KRZ Updater понадобится:

  1. Ноутбук или ПК.
  2. Зарядить смартфон/планшет как минимум до 50%.
  3. Скачать архив на компьютер KDZ_Update. zip
  4. Скачать и установить драйверы для устройства LG
  5. USB-кабель от смартфона/планшета.
  6. Необходимая прошивка в формате. kdz прошивки CIS для стран СНГ и России соответственно.
  7. Удалить прочие программы для устройства (кроме драйвера).

Пошаговая инструкция:


Прошивка смартфонов и планшетов от Lenovo с помощью программы SP Flash Tools

Инструменты, которые нужны для прошивки:

  1. Скачать и установить Драйверы устройства Lenovo
  2. Скачать программу SP Flash Tool
  3. Скачать необходимую версию прошивки.
  4. Зарядка телефона не меньше 60%.

Установка прошивки осуществляется в три этапа:

  1. Подготовительный этап.
  2. Установка драйверов.
  3. Перепрошивка.

Подготовительный этап:

  1. В корень диска С: распаковать архив с программой SP Flash Tools. Туда же поместить необходимые драйверы и прошивку.

    Перепрошивка:

    1. В открытой программе SP Flash Tools нужно выбрать нужные компоненты перепрошивки галочкой. Если необходимо перепрошить только некоторые части, нужно снять галочки с ненужных разделов. В таком случае выбираем режим «Download Only».
    2. Если устройство нужно полностью перепрошить, в случае нерабочего состояния («кирпич»), выбирается режим «Format All + Download».
    3. При установке новой прошивки выбирается режим «Firmware-> Upgrade».
    4. Перепрошивка инициализируется кнопкой Download.
    5. Появление окна «Download OK» означает, что устройство перепрошито.
    6. Как перепрошить Android-устройства без компьютера?

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

      При этом нужно учесть следующие моменты:

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

      Прошивка Андроида через Recovery

      В Android-устройствах Recovery - это режим восстановления. С помощью него можно восстановить заводские настройки или перепрошить девайс официальной прошивкой.

      Как войти в Recovery для перепрошивки устройства?

      Для разных девайсов, вход в режим восстановления различается.

      Рассмотрим самые популярные модели:

      1. Сперва нужно выключить устройство.
      2. На гаджетах от Lenovo: зажать громкость «+» и «Вкл». Если не получилось, удерживать кнопки громкости (vol+ и vol-) и кнопку питания.
      3. HTC: уменьшение громкости+включение.
      4. Samsung: кнопка «Домой»+кнопка «Вкл»+повышение громкости.
      5. LG: удерживать клавишу уменьшения громкости+клавишу питания. Дождаться появления логотипа компании, отпустить и зажать снова указанные клавиши.

      Пошаговая инструкция по перепрошивке устройства

      Последовательность прошивки в режиме восстановления:

      Видеоурок по использованию Recovery снят каналом «DimaViper».

      Как осуществить первый запуск операционной системы после перепрошивки? Настройка новой ОС

      Первый запуск после прошивки похож на первый запуск устройства после покупки.

      Рассмотрим шаги настройки новой операционной системы:

      Видео

      Канал «THANOS Mairon» подготовил видео по универсальному методу перепрошивки устройств на Андроиде.



Загрузка...