Android boot to fastboot
Platform-tools: r31.0.3
ADB: 1.0.41 (31.0.3-7562133)
Fastboot: 31.0.3-7562133
Make_f2fs: 1.14.0 (2020-08-24)
Mke2fs: 1.46.2 (28-Feb-2021)
Последнее обновление утилит в шапке: 01.08.2021
ADB (Android Debug Bridge — Отладочный мост Android) — инструмент, который устанавливается вместе с Android-SDK и позволяет управлять устройством на базе ОС Android.
Работает на всех Android-устройствах, где данный функционал не был намеренно заблокирован производителем.
Здесь и далее: PC — ПК, компьютер к которому подключено устройство.
ADB — консольное приложение для PC, с помощью которого производится отладка Android устройств, в том числе и эмуляторов.
Работает по принципу клиент-сервер. При первом запуске ADB с любой командой создается сервер в виде системной службы (демона), которая будет прослушивать все команды, посылаемые на порт 5037.
Официальная страница
ADB позволяет:
- Посмотреть какие устройства подключены и могут работать с ADB.
- Просматривать логи.
- Копировать файлы с/на аппарат.
- Устанавливать/Удалять приложения.
- Удалять (очищать) раздел data.
- Прошивать (перезаписывать) раздел data.
- Осуществлять различные скрипты управления.
- Управлять некоторыми сетевыми параметрами.
Поставляется ADB в составе инструментария разработчика Андроид (Android SDK), который, в свою очередь входит в состав Android Studio.
Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.
Скрытые команды ADB
adb -d Команда посылается только на устройство подключенное через USB.
Внимание: Выдаст ошибку, если подключено больше одного устройства.
adb -e Команда посылается на устройство в эмуляторе.
Внимание: Выдаст ошибку, если подключено больше одного эмулятора.
adb -s Команда посылается на устройство с указанным серийным номером:
adb -p Команда посылается на устройство с указанным именем:
Если ключ -p не указан, используется значение переменной ANDROID_PRODUCT_OUT.
adb devices Список всех подсоединенных устройств.
adb connect [: ] Подсоединиться к андроид хосту по протококу TCP/IP через порт 5555 (по умолчанию, если не задан).
adb disconnect [ [: ]] Отсоединиться от андроид подключенного через TCP/IP порт 5555 (по умолчанию, если не задан).
Если не задан ни один параметр, отключиться от всех активных соединений.
adb push Копировать файл/папку PC->девайс.
adb pull [ ] Копировать файл/папку девайс->PC.
adb sync [ ] Копировать PC->девайс только новые файлы.
Ключи:
-l Не копировать, только создать список.
adb shell Запуск упрощенного unix shell.
Примеры использования
adb emu Послать команду в консоль эмулятора
adb install [-l] [-r] [-s] Послать приложение на устройство и установить его.
Пример: adb install c:/adb/app/autostarts.apk Установить файл autostarts.apk лежащий в папке /adb/app/ на диске с:
Ключи:
-l Блокировка приложения
-r Переустановить приложение, с сохранением данных
-s Установить приложение на карту памяти
Установка split apk
adb uninstall [-k] Удаление приложения с устройства.
Ключи:
-k Не удалять сохраненные данные приложения и пользователя.
adb wait-for-device Ждать подключения устройства.
adb start-server Запустить службу/демон.
adb kill-server Остановить службу/демон.
adb get-state Получить статус:
offline Выключен.
bootloader В режиме начальной загрузки.
device В режиме работы.
adb get-serialno Получить серийный номер.
adb status-window Непрерывный опрос состояния.
adb remount Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на.
adb reboot bootloader Перезагрузка в режим bootloader.
adb reboot recovery Перезагрузка в режим recovery.
adb root Перезапуск демона с правами root
adb usb Перезапуск демона, прослушивающего USB.
adb tcpip Перезапуск демона, прослушивающего порт TCP.
adb ppp [параметры] Запуск службы через USB.
Note: you should not automatically start a PPP connection. refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
Параметры:
defaultroute debug dump local notty usepeerdns
FastBoot — консольное приложение для PC. Используется для действий над разделами
fastboot devices Список присоединенных устройств в режиме fastboot.
fastboot flash Прошивает файл .img в раздел устройства.
fastboot erase Стереть раздел.
Разделы: boot, recovery, system, userdata, radio
Пример: fastboot erase userdata Стирание пользовательских данных.
fastboot update Прошивка из файла имя_файла.zip
fastboot flashall Прошивка boot + recovery + system.
fastboot getvar Показать переменные bootloader.
Пример: fastboot getvar version-bootloader Получить версию bootloader.
fastboot boot [ ] Скачать и загрузить kernel.
fastboot flash:raw boot [ ] Создать bootimage и прошить его.
fastboot devices Показать список подключенных устройств.
fastboot continue Продолжить с автозагрузкой.
fastboot reboot Перезагрузить аппарат.
f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s Указать серийный номер устройства.
-p
Указать название устройства.
-c Переопределить kernel commandline.
-i Указать вручную USB vendor id.
-b Указать в ручную базовый адрес kernel.
-n
Указать размер страниц nand. по умолчанию 2048.
Команду logcat можно использовать с машины разработки
$ adb logcat
или из удаленного shell
# logcat Каждое сообщение лога в Android имеет тэг и приоритет
Тэг – это строка указывающая компонент системы, от которого принято сообщение (например: View для системы view)
Приоритет – имеет одно из нижеследующих значений (в порядке от меньшего к большему):
V — Verbose (Низший приоритет).
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S — Silent (Наивысший приоритет, при котором ничего не выводится).
Получить список тэгов, используемых в системе, вместе с их приоритетами можно запустив logcat. В первых двух столбцах каждого из выведенных сообщений будут указаны / .
Пример выводимого logcat сообщения:
I/ActivityManager( 585): Starting activity: Intent
Для уменьшения вывода лога до приемлемого уровня нужно использовать выражения фильтра. Выражения фильтра позволяют указать системе нужные комбинации и , остальные сообщения система не выводит.
Выражения фильтра имеют следующий формат : . где указывает нужный тэг, указывает минимальный уровень приоритета для выбранного тэга. Сообщения с выбранным тэгом и приоритетом на уровне или выше указанного записываются в лог. Можно использовать любое количество пар : в одном выражении фильтра. Для разделения пар : используется пробел.
Пример ниже выводит в лог все сообщения с тэгом «ActivityManager» с приоритетом «Info» или выше, и сообщения с тэгом «MyApp» и приоритетом «Debug» или выше:
adb logcat ActivityManager:I MyApp:D *:S
Последний элемент в выражении фильтра *:S устанавливает приоритет «silent» для всех остальных тэгов, тем самым обеспечивая вывод сообщений только для «View» и «MyApp». Использование *:S – это отличный способ для вывода в лог только явно указанных фильтров (т.е. в выражении фильтра указывается «белый список» сообщений, а *:S отправляет все остальное в «черный список»).
При помощи следующего выражения фильтра отображаются все сообщения с приоритетом «warning» или выше для всех тэгов:
adb logcat *:W
Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS:
export ANDROID_LOG_TAGS=»ActivityManager:I MyApp:D *:S»
Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat.
Вышеописанная команда export работает в ОС *nix и не работает в Windows.
Контроль формата вывода лога
Сообщения лога в дополнение к тэгу и приоритету содержат несколько полей метаданных. Можно изменять формат вывода сообщений показывая только конкретные поля метаданных. Для этого используется параметр -v и указывается один из ниже перечисленных форматов вывода.
brief Показывать приоритет/тэг и PID процесса (формат по умолчанию).
process Показывать только PID.
tag Показывать только приоритет/тэг.
thread Показывать только процесс:поток и приоритет/тэг.
raw Показать необработанное сообщение, без полей метаданных.
time Показывать дату, время вызова, приоритет/тэг и PID процесса.
long Показывать все поля метаданных и отдельно сообщения с пустыми строками.
При запуске logcat можно указать формат вывода используя параметр -v:
adb logcat [-v
Источник
Режим Fastboot mode на Андроиде: что это такое и как из него выйти
В руках хозяина смартфон отзывчив и послушен, но стоит ему попасть в ручонки ребенка или неопытного юзера, как что-то обязательно случается. Всего лишь нажатие «не туда» — и вот вместо рабочего стола красуется заставка «Fastboot», убрать которую бывает не так-то просто. Что же такое режим Fastboot mode на Андроиде, зачем он нужен, как в него войти и выйти?
Что такое Fastboot mode на Android
Fastboot (быстрая загрузка) — это один из режимов запуска Android-устройства, который предназначен для прошивки, восстановления системы, стирания данных и других сервисных операций с мобильным гаджетом. Программный код, отвечающий за функции этого режима, хранятся в отдельной защищенной области памяти и не зависит от работоспособности системы Андроид.
Как рабочий инструмент Fastboot mode чем-то напоминает консоль восстановления Windows XP, которую опытные юзеры и системные администраторы использовали для решения проблем с запуском ОС. Они вводили в консоль определенные команды, после чего в операционной системе происходили изменения.
Примерно так же функционирует Fastboot — он выполняет команды пользователя, которые приводят к тем или иным изменениям в системе Андроид. Только управляют этой консолью не через кнопки «подопытного» гаджета, а с помощью специального приложения на компьютере, к которому этот гаджет подключен.
Почему смартфон или планшет загрузился в Fastboot
Фастбут, безусловно, полезен как средство восстановления и тонкой настройки мобильных девайсов, однако для неискушенного пользователя появление на экране его заставки означает, что с устройством что-то не в порядке. Иногда действительно так и есть, но чаще всего проблема решается просто.
Итак, загрузка аппарата в Fastboot mode происходит в следующих случаях:
- При запуске устройства была нажата комбинация клавиш для входа в этот режим.
- При загрузке Android возникли спонтанные ошибки.
- Операционная система повреждена или отсутствует.
- Повреждены хранилище, оперативная память или другие аппаратные компоненты устройства.
Для справки приводим комбинации клавиш перехода в режим быстрого запуска на смартфонах и планшетах разных марок. Перед этим аппарат должен быть выключен:
- Xiaomi, Meizu, Huawei, Lenovo, Nexus: уменьшение громкости и включение.
- Asus: увеличение громкости и включение.
- Sony: увеличение громкости при подключении смартфона к USB-порту компьютера.
- Motorola: увеличение + уменьшение громкости + включение. На отдельных моделях — уменьшение громкости и включение.
- HTC, LG: увеличение или уменьшение громкости + включение (в зависимости от модели).
Если вашего аппарата нет в этом списке, возможно, режим Фастбут на нем не реализован.
Как выйти из Fastboot mode
Простые решения
Случайный переход в режим быстрого запуска и спонтанные системные ошибки — легкорешаемые задачи, чего не скажешь об остальном. Чтобы выйти из Фастбут, достаточно перезагрузить или выключить устройство. Если с загрузчиком и операционной системой всё в порядке, при последующем включении девайс запустится как ни в чем не бывало.
Как перезапустить или выключить аппарат, который загружен в Fastboot (некоторые способы работают не на всех устройствах):
- Выберите пункт «Normal Mode» (если есть), перемещаясь по экранному меню режима Fastboot с помощью кнопок управления громкостью. Для подтверждения выбора нажмите клавишу питания.
- Нажмите и удерживайте клавишу питания 10-30 секунд до выключения экрана.
- Нажмите утопленную кнопку Reset на корпусе аппарата. Узнать, где расположена эта кнопка, можно из руководства пользователя или по надписи на корпусе, как на изображении ниже.
- Ненадолго извлеките из аппарата батарею. Если батарея несъемная или девайс слишком сложен в разборке, дождитесь естественной разрядки.
Опытные юзеры, разработчики и сервисные инженеры иногда используют для подобных задач ADB (отладочный мост Android из набора средств разработки Android SDK) и компьютерное приложение Fastboot, но для неспециалиста это не самый подходящий вариант, к тому же не имеющий преимуществ перед более простыми.
Что делать в сложных случаях
Если после рестарта устройство снова загрузилось в Fastboot mode, то, вероятно, вы имеете дело с неисправностью. Если сбой возник сразу после того как смартфон пытались перепрошить, обновить, получить на нем права суперпользователя (root) и т. п., причина налицо. В отдельных случаях неполадку можно устранить своими силами, отменив операцию (если это возможно) или повторив ее строго по инструкции.
К сожалению, универсальных способов восстановления Андроид-гаджетов, «окирпиченных» после подобных вмешательств, нет, поэтому искать инструкцию придется самостоятельно, благо информации на эту тему предостаточно. Однако не стоит тестировать на своем устройстве всё, что вы найдете в сети, — это может усугубить поломку. Правильней и безопасней руководствоваться материалами с веб-сайтов производителей гаджетов и профессиональных сообществ.
Неожиданный переход телефона в режим Fastboot после нормальной работы бывает следствием как программных, так и аппаратных сбоев. Определить на глаз, какой тип неисправности имеет место в вашем случае, чаще всего невозможно. Можно лишь сделать предположение по косвенным признакам.
Итак, неполадка скорее программная, если:
- Незадолго до ее возникновения на устройстве возникали ошибки запуска приложений, не нажимались экранные кнопки, самопроизвольно открывалась реклама, перестал работать антивирус и т. п.
- Пользователь установил на аппарат с правами root приложение, которое вносит изменения в системные файлы и настройки.
- Было установлено обновление операционной системы.
На то, что проблема скорее аппаратного характера, указывает следующее:
- Ей предшествовало падение девайса с высоты.
- Ранее возникали мертвые зависания (до перезапуска устройства), самоотключения, перезагрузки.
- Перед этим имело место «выпадение» части функций, например, нераспознавание подключенных устройств — SIM-карт, карт памяти, наушников и прочего. При условии, что эти устройства нормально определяются другими гаджетами.
- На девайсе расшатано (частично отломано) гнездо зарядки.
При подозрении на неисправность железа не стоит предпринимать ничего, кроме обращения в сервис, поскольку попытки сделать то, о чем пойдет речь дальше, могут прибавить к аппаратному сбою программный. Соответственно, цена на последующий ремонт удвоится или утроится.
Пожалуй, единственное, чем вы можете помочь себе при программной неполадке, это сделать hard reset — сброс системы Android до заводских настроек через меню Recovery. Но и он сработает лишь при одном условии — если телефон (планшет) реагирует на нажатие кнопок.
Итак, как вывести мобильное устройство из Fastboot mode через Recovery:
- Извлеките из аппарата карту памяти.
- Зарядите аккумулятор минимум на 30%. Определить точный уровень заряда без индикации не удастся, поэтому ориентируйтесь на время.
- Выключите девайс одним из способов, описанных выше.
- Нажмите и удерживайте комбинацию клавиш для перехода в Recovery. Чаще всего это кнопки увеличения громкости и включения, а на некоторых моделях еще и «Домой» (на тех, где эта кнопка физическая). Реже используются другие сочетания. Какие именно, можно уточнить в инструкции к аппарату.
- Когда на экране появится меню примерно такого вида, как на фото ниже, выберите опцию «Wipe Data \ Factory Reset». Для навигации по меню используйте кнопки управления громкостью, а для подтверждения выбора — кнопку включения.
Если всё пройдет удачно, после сброса аппарат перезапустится в состоянии, как был на момент покупки. К сожалению, ваших личных файлов на нем не останется — такова цена, которую придется заплатить за возможность пользоваться гаджетом.
Для доступа в систему, скорее всего, придется ввести логин и пароль вашего аккаунта Google, поэтому позаботьтесь заранее о том, чтобы его не забыть.
Если hard reset окажется бессильным — телефон снова загрузится в Fastboot mode, остается последнее средство, доступное дома — перепрошивка. Либо, опять же, обращение в сервис, что будет дороже, но правильнее и надежнее.
Источник