Микроконтроллер и Bootloader. Описание и принцип работы

26.08.2019 Интернет

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

Bootloader: что это?

Начнем, так сказать, с азов. Bootloader Android - систем практически ничем не отличается от того, что имеется на любом компьютерном терминале, будь то PC или Mac. Говоря простым языком, Bootloader – это встроенное средство загрузки операционной системы.

Если привести в пример компьютерные терминалы с несколькими установленными «операционками» (скажем, Windows и Linux), загрузчик после включения стационарного блока или ноутбука предлагает юзеру вход в систему на выбор, а после подтверждения загружает ту или иную ОС.

Принципы загрузки ОС

Равно как и в стационарных системах, загрузчик Bootloader в мобильных девайсах обращается к инициализационным файлам по типу того, как это делает, например, Windows при загрузке параметров из файла boot.ini.

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

Bootloader: как разблокировать и зачем это нужно?

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

Считается, что в таком случае пользователь получает доступ к ядру системы, который по умолчанию невозможен. Как в такой ситуации описать Bootloader? Что это, станет понятно, если взглянуть на отсутствие так называемых прав суперюзера . Получается, что после снятия блокировки они вообще не нужны ни на каком уровне. А то ведь зачастую приходится устанавливать специальные прошивки и приложения. Если же кастомная прошивка , мягко говоря, «корявая», то и вся система может слететь.

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

Для большинства устройств, включая, например, гаджеты Sony и HTC, подразумевается использование утилиты , причем для Sony придется дополнительно использовать специальные драйверы Sony Fastboot, да еще и обратиться к специальному разделу Unlocker на официальном сайте. Как видим, процедура хоть и выполнимая, но достаточно сложная.

Как разблокировать Bootloader более подробно

  • Как разблокировать загрузчик (Bootloader) - HTC
  • Как разблокировать загрузчик (Bootloader) - Nexus
  • Как разблокировать загрузчик (Bootloader) - Sony
  • Как разблокировать загрузчик (Bootloader) - Xiaomi
  • Как разблокировать загрузчик (Bootloader) - Huawei
  • Как разблокировать загрузчик (Bootloader) - LG

Восстановление данных

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

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

Установка другой «операционки»

Если говорить о возможности инсталляции другой ОС, этот вопрос достаточно сложен, хотя и решаем. Дело в том, что некоторые производители утверждают, мол, что после «Андроида» на гаджет другая система не станет. Чистой воды рекламный ход, призванный разрекламировать инсталлированную систему.

А ведь китайцы на своих «левых» аппаратах HTC уже доказали, что на одном девайсе совершенно элементарно уживаются и Android, и Windows Phone. При этом такие модели поставляются в большинстве случаев с уже разблокированным загрузчиком Bootloader. Что это в данном случае? Это средство, позволяющее не только выбирать загружаемую ОС, но и устанавливать любую другую с изменением параметров на системном уровне.

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

На что стоит обратить внимание отдельно?

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

Кстати сказать, немногие соображают, что такие версии способны оказывать слишком сильную нагрузку на «железные» компоненты, что, в свою очередь, может привести к их полной неработоспособности. А ведь поменять процессор в том же смартфоне – дело далеко не самое простое.

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

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

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

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

Готовимся к установке

1. Качаем и устанавливаем драйвера. Сделать это можно, перейдя по нашей ссылке ниже.

2. Распаковываем архив в любом месте на жестком диске.
3. Отключаем телефон.
4. Запускаем телефон в режиме fastboot, для чего следует нажать «громкость -», и, удерживая ее, нажать «Power».
5. На ПК отобразится сообщение об обнаружении нового устройства.
6. Зайти в диспетчер устройств (путь: Панель управления – Система – Диспетчер устройств).
7. Найти неизвестное устройство, которое обычно обозначается в виде желтого треугольника с восклицательным знаком.
8. Дважды щелкнуть по нему.
9. В окне, которое появилось, надо нажать: Обновить драйвер – Выполнить поиск драйвера на этом ПК – Выбрать драйвера из перечня установленных драйверов – Установить с диска – Выбрать папку, куда были распакованы драйвера – Поставить флажок на «Поиск в подпапках» - завершить установку драйверов.
10. Устройство полностью готово к дальнейшим манипуляциям.
11. Скачать ADB и Fastboot согласно разрядности операционной системы: для x32/86 или x64. Распаковать архив в выбранную вами папку. Надо, чтобы путь не содержал русских букв (кириллицы) и цифр. Я, к примеру, распаковываю папку в d:\ADB.

12. Скачать кастомный Recovery: CWM и кинуть *.img файл в ту же папку, что ADB.

Разлочка Bootloader

Сначала следует произвести разлочку Bootloader на смартфоне. С этой целью необходимо подключить смартфон к ПК и перевести его в fastboot-режим. Чтобы перевести вданный режим, надо отключить телефон и в ходе выключения нажать и удерживать две кнопки: «Громкость –» и «Power». В Fastboot-режиме на дисплее смартфона появится зеленый робот, у которого вскрыт живот.

Далее вам предстоит запустить командную строчку: пуск – в строчке «выполнить» написать «cmd» (без кавычек) – сверху должно появиться «cmd.exe» - кликнуть правой кнопкой мыши «cmd.exe» - Запуск с правами администратора.

После этого заходим в папку, в которой находится ADB (в моем случае она расположена на пути d:\ADB):сначала я ввожу «d» (кавычки вводить не нужно) и нажимаю Enter – ввожу «cd ADB» и снова нажимаю Enter. Окно командной строки теперь выглядит так:

С целью разлокировки Bootloader надо ввести такую команду:

fastboot oem unlock

Принимаем разблокировку путем нажатия кнопки «Громкость +» и подтверждаем действие нажатием кнопки «power».

Итак, Bootloader разблокирован. Теперь перезагружаемся в систему. Смартфон введет необходимые изменения, загрузится,после чего следует осуществить первичную настройку от Гугл (я многое пропускаю, так как телефон еще разбудет перешит). Дальше – запуск fastboot и установка кастомного Recovery.

Теперь устанавливаем кастомный Recovery. С этой целью надо ввести в командную строку команду

fastboot flash recovery ***

Приветствую всех на нашем сайте и сегодня мы после небольшого перерыва вернемся к теме микроконтроллеров. А если быть совсем точным, то мы начинаем обсуждать одну очень интересную и важную тему, а именно использование bootloader’а (загрузчика) при программировании контроллеров. Сегодня мы разберем теоретическую часть – зачем нужен, как он работает и что это вообще такое. Следующая статья будет посвящена целиком и полностью практике. Забегая вперед скажу, что мы напишем свой для любимых микроконтроллеров STM32 😉

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

Как вы помните из статьи, посвященной Flash-памяти микроконтроллеров STM32 , основная пользовательская программа начинается с первой страницы памяти, а точнее с адреса 0х08000000 . То есть при подаче питания контроллер сразу же убегает по этому адресу)

При использовании загрузчика все выглядит несколько иначе. Основная программа записывается уже по другим адресам и располагается начиная, например, с адреса 0х0800A000 . А область памяти (0х08000000 0х0800А000 ) целиком и полностью отдается bootloader’у . В итоге в flash-памяти контроллера у нас как бы находятся две полноценные программы. При включении устройства управление получает (поскольку он находится в области, начинающейся со “стартового” адреса 0х08000000 ), а при дальнейшей работе , выполнив все свои задачи передает управление нашей основной программе, которая располагается по адресу 0х0800А000 (этот адрес мы взяли для примера). Вот небольшая схемка для демонстрации работы загрузчика:

Вроде бы понятно как устроено, но возникает вопрос – зачем все это надо?

Давайте разбираться…

Первостепенной задачей bootloader’а является программирование микроконтроллера. Он не просто выполняет какие-то действия, а затем передает управление основной программе (переходит на адрес, который соответствует началу основной программы), он, в первую очередь, самостоятельно записывает эту основную программу в flash-память по нужным адресам.

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

Небольшое отступление от основной темы… Поясню, что я тут имею ввиду под “файлом программы”.

Когда мы создаем проект (Keil, IAR – без разницы), то на выходе (после сборки проекта) мы получаем скомпилированный файл для прошивки в микроконтроллер. Чаще всего мы использовали .hex файл программы. Так вот именно этот файл нам и нужен в данном случае. Но именно hex-файл не совсем подходит для наших целей, поскольку помимо кода нашей программы он несет в себе дополнительную служебную информацию. Чтобы ее не обрабатывать и не вытаскивать из hex-файла нужный нам код, который bootloader должен записать во flash, мы в настройках компилятора во вкладке Output попросим его генерировать нам вместо hex-файла bin-файл . Бинарник, в отличие от hex , содержит в себе только последовательный код программы и ничего больше. То есть bootloader’у остается только читать байты из bin-файла и записывать их во flash-память. То есть в нашем примере задачей загрузчика является чтение байт из файла на карте памяти и запись их по адресам, начиная с 0х0800A000 . Вот псевдокод для наглядности:

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

Все это, конечно, очень интересно, но по-прежнему, непонятно, зачем нужны все эти сложности….

С этим на самом деле все просто – вот, например, первая ситуация – есть огромное количество устройств, на заводе работники прошили в каждый контроллер (например, при помощи ST-Link) на каждой плате , который при подключении к плате флэшки (в заранее предусмотренный разъем) ищет на ней файл прошивки и выполняет программирование. Основную программу, конечно же, тоже можно прошить вместе с bootloader’ом через ST-Link. Но тонкость тут в том, что проект bootloader’а остается всегда неизменным и перепрошивать его не надо, а вот версия основной программы может обновляться кучу раз в процессе тестирования устройств. И тут уже гораздо проще один раз подключить ST-Link и прошить загрузчик, а впоследствии просто скидывать новую версию основной программы на флэшку и втыкать ее в готовое устройство, где перепрошивкой займется , чем по сто раз бегать от одной платы к другой, втыкать ST-Link, при этом перенося с собой ноутбук с ST-Link Utility… Как видите, польза загрузчика очевидна 😉

Вторая ситуация еще лучше это демонстрирует. Устройство уже выпущено и куча экземпляров распродана пользователям. Как бы хороша не была финальная версия программы никто не застрахован от неожиданного появления ошибок в процессе эксплуатации. И тут уже человек, купивший устройство, точно не сможет разобрать его и подпаяться, чтобы выполнить перепрошивку через программатор. То есть программу обновить просто нереально. Совсем другое дело, если изготовители предусмотрели встроенный bootloader. Пользователь может без проблем скинуть на карту памяти или на флэшку скачанный бинарник и подключить карту/флэшку к устройству. Изготовителю остается только выкладывать новые версии прошивок на своем сайте =) В этом на самом деле кроется куча возможностей – изготовитель устройств может спокойно выпустить девайс на рынок с базовой прошивкой, которая реализует все нужные функции, но не содержит всяких приятных графических вещей или возможности подключения к ПК (зависит от того, что это за устройство). Производителю не нужно ломать голову над тем, чтобы выпустить с первого раза идеальную прошивку, в которой будет реализовано абсолютно все, что только можно, ведь он знает что встроенный без проблем поможет пользователю в будущем обновить программу.

В общем, о пользе и применениях загрузчика можно говорить очень и очень долго…;) Помимо упомянутых возможностей обновления прошивки при помощи флэшки или карты памяти, может использовать какой-нибудь из интерфейсов передачи данных, например SPI, I2C или USART.

В общем-то, вроде бы мы разобрались с теоретической частью, посвященной использованию bootloader’а , но давайте еще один момент обсудим в этой статье – а именно аппаратный загрузчик микроконтроллеров STM32.

У STM32 уже есть , который инженеры ST поместили в специально отведенную область памяти микроконтроллера (System Memory ). Удалить его оттуда нельзя, да и незачем =) Для того, чтобы ввести контроллер в режим загрузчика необходимо подать определенные сигналы на ножки BOOT0 и BOOT1. После этого микроконтроллер готов принимать по USART новую прошивку. Для этого необходимо подключить плату к ПК, скачать специальную софтинку от ST – Flash Loader Demonstrator и загрузить в нее свой файл прошивки.

Я, честно говоря, аппаратным загрузчиком предпочитаю не пользоваться по нескольким причинам. Во-первых, прошивка никак не шифруется, что для коммерческих устройств зачастую недопустимо. Если я использую свой собственный , то я могу сделать с bin-файлом все, что угодно, например, поменять определенные байты местами. Если такой файл попадет в руки конкурентов, то это ничего не даст, поскольку только мой знает как расшифровать бинарник. При использовании аппаратного botloader’а такое невозможно – Flash Loader Demonstrator принимает bin-файл в исходном виде, то есть все байты в нем не зашифрованы. Во-вторых, пользователю будет необходимо подключать свою плату к ПК и скачивать дополнительный софт для перепрошивки устройства, и это не очень хорошо. Чем проще устройство в использовании, тем лучше 😉 Но есть и плюсы аппаратного bootloader’а – он не занимает flash-память. При использовании своего загрузчика нужно иметь ввиду, что и загрузчик и основная программа должны поместиться в flash-памяти. С аппаратным bootloader’ом такой проблемы нет – он расположен в специальной области памяти, использовать которую программист не может.

Давайте на этом на сегодня и закончим, не пропустите статью, посвященную практической реализации загрузчика!

Что такое bootloader, его разблокировка, и зачем мне это нужно?

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

Если вы хотите установить модифицированную версию OS (Custom ROM), вам необходимо разблокировать загрузчик. Говоря на языке человека обычного: разблокировка загрузчика позволит устанавливать измененные прошивки, с разнообразными «вкусностями» на ваш телефон Android.

Начнем, пожалуй, с всемирно известного бренда HTC. В 90% случаев этот способ срабатывает, остальные 10% отведем на проблемы программного характера, подделки китайских умельцев, а также модели, в которых отсутствует визуальная часть загрузчика, вообще конечно он есть, но скрыт от глаз.

Первый шаг , регистрация http://htcdev.com/ . Скачиваем драйвера ADB с нашего сайта, программу HTC Sync с официального сайта http://www.htc.com/ua в ней будут все необходимые драйвера на ваше устройство. Возможно, вам также понадобится Java http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Шаг второй , создаём в корне диска С папку и даем ей имя Android. В эту папку распаковываем : adb.exe, AdbWinApi.dll, fastboot.exe. HTC Sync можно удалить, а можете и отключить в системе, чтобы не мешала при подключении устройства к компьютеру.

Шаг третий , переводим телефон в режим bootloader (загрузчик). Вариант первый, если телефон со съёмной батареей, вынимаем акб, вставляем, зажимаем качельку громкости (-) и питание. Держим пока телефон не перегрузится в вышеупомянутое состояние bootloader. Выглядит он вот так.

Вариант второй , для пользователей более продвинутых, телефон включен, стоит разрешение на функции «отладка по usb разрешена» работаем через командную строку Пуск -> Выполнить и введите имя программы cmd.exe. Появится окно

После вводим команду CD C:\Android жмем Enter получаем ответ C:\Android>. Дальше вводим команду adb devices, ответ должен быть:

List of devices attached HC413MW00787 device

Команда вводится для проверки соединения с ПК, если серийник определился значит все ок, и продолжаем дальше. Если нет, тогда проверяем «отладка по usb разрешена» а также установлены ли драйвера ADB. Следующая команда переводит телефон в нужный нам режим: adb reboot-bootloader жмем enter,


Теперь обращаем внимание на телефон, должно быть так как на первом изображении.

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

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


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


Ставим две «птички» нажимаем на кнопку Proceed to Unlock Instructions.


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

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

Для этого возвращаемся к консоли, и вводим команду fastboot oem get_identifier_token жмем enter

На выходе получаем:


То, что обведено красным необходимо выделить, скопировать и вставить в то пустое окно на изображении выше. Нажать на кнопку Submit. Как скопировать и вставить? Нажатием правой кнопкой мышки, получаем меню, в котором выбираем пометить, выделяем нужную нам площадь. Нажимаем Enter. В консоли для того чтобы скопировать нужные значения используется именно enter

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

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

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

Как установить Android SDK, содержащий в себе программы adb и fastboot, читайте в этом материале .

Также напомню, что в Android 4.2 и выше, пункт «Отладка USB» скрыт, и как получить к нему доступ, вы можете почитать .

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

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

1. Команда adb devices

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

Если все нормально, то после ввода команды adb devices в окне командной строки Windows или терминала Linux, вы должны увидеть строку с текстом List of devices attached, после которой будет строка, состоящяя из серийного номера вашего устройства и его состояния - offline или online:

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

2. Команда adb push

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

Вот пример копирования видеофайла superfreak.mp4 с компьютера на устройство, в папку /sdcard/Movies с помощью команды adb push superfreak.mp4 /sdcard/Movies/

Для пользователей Windows хочу напомнить, что в Android при указании пути к файлам и папкам используется прямой слэш - /, а не обратный, как вы привыкли.

3. Команда adb pull

Если команда adb push используется для передачи файлов на Android устройство, то adb pull используется для копирования файлов с устройства на компьютер. Так же как и в предыдущем случае, вы должны указать путь, откуда вы хотите взять файл на устройстве и путь, куда вы хотите этот файл поместить на компьютере. Второй путь указывать не обязательно, если вы хотите, чтобы файл попал в папку, из которой вы запускали программу adb.

Вот пример копирования файла superfreak.mp4 из папки /sdcard/Movies/ вашего планшета или смартфона на рабочий стол Windows 8 пользователя Jerry, C:\Users\Jerry\Desktop

Если вы хотите, чтобы файл попал в папку, из которой вы запускали adb, просто введите команду adb pull /sdcard/Movies/superfreak.mp4

4. Команда adb reboot

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

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

5. Команды adb reboot-bootloader и adb reboot recovery

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

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

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

6. Команда fastboot devices

Если вы перегрузили свой планшет в режим загрузчика (bootloader) то он перестанет принимать команды adb. В этом режиме с устройством мы можем общаться с помощью программы fastboot.

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

Так же, как и в случае с adb, после ввода команды fastboot devices вы должны увидеть серийный номер вашего устройства.

Зачастую причиной неработоспособности fastboot является отсутствие необходимых Windows драйверов вашего устройства.

7. Команда fastboot oem unlock

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

Однако во многих случаях, разблокировать загрузчик Android устройства можно с помощью программы fastboot. Сделать это очень просто – когда ваш планшет или телефон находится в режиме bootloader (пункт 5), достаточно в окне командной строки ввести следующую команду: fastboot oem unlock.

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

Внимание! После выполнения команды fastboot oem unlock, ваше устройство будет полностью очищено от установленных вами программ и ваши персональные данные будут также удалены.

8. Команда adb shell

Команда adb shell зачастую приводит в замешательство некоторых начинающих пользователей.

Есть два пути использования этой команды. Если вы просто введете в окне командной строки текст adb shell и нажмете клавишу «Enter», то вы «попадете» в режим терминала, или командную оболочку вашего Android устройства, где вы сможете выполнять любые команды Android shell.

Ниже вы можете увидеть результат выполнения команды ls в среде Android shell

Этот режим хорошо известен пользователям Linux и Mac компьютеров. Если вы знакомы с командами оболочки bash, то проблем с работой в этом режиме у вас не будет. В противном случае я не рекомендую пользоваться режимом adb shell, до тех пор, пока вы не будете понимать, назначение всех его команд, так как в этом режиме вы имеете полный доступ к файлам на вашем устройстве и можете случайно нанести непоправимые изменения в операционной системе.

Второй способ использования adb shell - это выполнение единичной команды Android shell с помощью такой конструкции: adb shell <команда>. Например вы можете изменить права доступа к файлу с помощью команды типа «adb shell chmod 666 /data/имя файла»

9. Команда adb install

С помощью программы adb вы можете не просто копировать файлы на устройство и обратно. Эта программа также позволяет устанавливать приложения на Android устройства в виде apk файлов. Для этого существует команда adb install. Она немного похожа на команду push: вы должны указать путь, где находится файл с приложением, которое вы хотите установить. Поэтому проще всего сначала скопировать apk файл в папку с программой adb, после чего установку программы вы можете произвести с помощью команды adb install ИмяФайлаПриложения.apk

Если вам нужно обновить приложение, то в этом случае нужно использовать ключ -r и команда будет выглядеть так: adb install -r ИмяФайлаПриложения.apk.

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

10. Команда adb uninstall

И наконец, вы можете удалять приложения с вашего планшета или телефона. Для этого нужно использовать команду adb uninstall ИмяФайлаПриложения.apk

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

Бонус: Команда adb sideload

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

После того, как вы скачаете файл с прошивкой на компьютер и подключите планшет или телефон к нему, вам нужно будет перезагрузить свое устройство в режим рекавери, выбрать пункт "Apply update from ADB" , а затем на компьютере в окне командной строки ввести следующую команду: adb sideload xxxxxxxx.zip, где xxxxxxxx.zip – это имя zip файла c прошивкой.

Более подробную инструкцию о том, как обновить прошивку Nexus устройств вручную вы найдете в этом материале .

Похожие материалы: