Перейти к содержимому

Как включить телефон через adb

  • автор:

Как включить телефон через adb

Platform-tools: r34.0.4 rev.2
ADB: 1.0.41 (34.0.4-10411341)
Fastboot: 34.0.4-10411341
Make_f2fs (casefold): 1.16.0 (2023-04-11)
Mke2fs: 1.46.6 (1-Feb-2023)
Последнее обновление утилит в шапке: 27.07.2023

  • Посмотреть какие устройства подключены и могут работать с ADB.
  • Просматривать логи.
  • Копировать файлы с/на аппарат.
  • Устанавливать/Удалять приложения.
  • Удалять (очищать) раздел data.
  • Прошивать (перезаписывать) раздел data.
  • Осуществлять различные скрипты управления.
  • Управлять некоторыми сетевыми параметрами.

Если что-то неправильно, то в списке подключенных устройств (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> <путь на андроид> Копировать файл/папку PC->девайс.

adb pull <путь на андроид> [<путь на PC>] Копировать файл/папку девайс->PC.

adb sync [<каталог>] Копировать PC->девайс только новые файлы.
Ключи:
-l Не копировать, только создать список.

adb shell Запуск упрощенного unix shell.
Примеры использования

adb emu <команда> Послать команду в консоль эмулятора

adb install [-l] [-r] [-s] <название_приложения.apk> Послать приложение на устройство и установить его.
Пример: adb install c:/adb/app/autostarts.apk Установить файл autostarts.apk лежащий в папке /adb/app/ на диске с:
Ключи:
-l Блокировка приложения
-r Переустановить приложение, с сохранением данных
-s Установить приложение на карту памяти
Установка split apk

adb uninstall [-k] <название_приложения.apk> Удаление приложения с устройства.
Ключи:
-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 <tty> [параметры] Запуск службы через USB.
Note: you should not automatically start a PPP connection. <tty> 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> Прошивка из файла имя_файла.zip

fastboot flashall Прошивка boot + recovery + system.

fastboot getvar <имя_переменной> Показать переменные bootloader.
Пример: fastboot getvar version-bootloader Получить версию bootloader.

fastboot boot <kernel> [<ramdisk>] Скачать и загрузить kernel.

fastboot flash:raw boot <kernel> [<ramdisk>] Создать bootimage и прошить его.

fastboot devices Показать список подключенных устройств.

fastboot continue Продолжить с автозагрузкой.

fastboot reboot Перезагрузить аппарат.

f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s <серийный номер> Указать серийный номер устройства.
-p <product> Указать название устройства.
-c <cmdline> Переопределить kernel commandline.
-i <vendor id> Указать вручную USB vendor id.
-b <base_addr> Указать в ручную базовый адрес kernel.
-n <page size> Указать размер страниц 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 <format>]
Пример, который показывает сообщения в формате thread:
adb logcat -v thread
Нужно отметить, что можно использовать только один формат с параметром -v.

Просмотр альтернативного буфера лога

Система логов Android держит несколько кольцевых буферов для лога сообщений и не все сообщения отправляются в основной буфер. Для отображения дополнительных сообщений лога нужно запустить logcat с параметром -b.

Таким образом можно посмотреть один из альтернативных буферов:
radio Просмотр буфера с сообщениями связанными с радио/телефоном.
events Просмотр буфера с сообщениями связанными с событиями.
main Просмотр основного буфера (по умолчанию).

Пример ниже показывает буфер с радио и телефонными сообщениями:
adb logcat -b radio

Просмотр stdout и stderr

По умолчанию система Android шлет вывод stdout и stderr (System.out и System.err) в /dev/null (удаляет). В процессах, которые выполняются в виртуальной машине Dalvik (Dalvik VM) может осуществляться запись копии вывода в лог файл. В этом случае система записывает сообщения в лог используя тэги stdout и stderr с приоритетом I.
Для перенаправления вывода нужно остановить эмулятор/устройство, затем выполнить команду shell setprop для включения перенаправления вывода. Пример того как это делается:
$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start
Система сохраняет эту настройку, пока работает эмулятор/устройство. Чтобы использовать эту настройку по умолчанию в эмуляторе/устройстве, нужно добавить эту команду в /data/local.prop в эмуляторе/устройстве.

Список параметров команды logcat
-b <buffer> Загрузить альтернативный буфер лога для просмотра, такой как event или radio. Основной буфер используется по умолчанию.
-c Очистить (сбросить) лог и выйти.
-d Вывести лог на экран и выйти.
-f <filename> Записать сообщения лога в файл <filename>. По умолчанию в stdout.
-g Вывести размер указанного буфера лога и выйти.
-n <count> Установить максимальное количество ротаций лога (количество хранимых сжатых фрагментов лога) <count>. По умолчанию 4. Требует параметр -r.
-r <kbytes> Выполнять ротацию каждые <kbytes> вывода (разделять лог на фрагменты по <kbytes>). По умолчанию 16. Требует параметр -f.
-s Устанавливает silent фильтром по умолчанию.
-v <format> Устанавливает формат вывода сообщений лога. По умолчанию brief.

Executing ADB Shell Commands

pCloudy

You can fix the issues in your Android phone by connecting it with your computer and writing some easy commands. For this, you will need some command line tools which you can download from the Android developer’s site. If you are using Windows then you will need to visit the manufacturer’s page for your device and download the ADB and fastboot drivers for Windows. But first, let’s understand what are Android shell commands.

ADB is Android Debug Bridge which is a command line utility included with Google’s Android SDK. It provides a terminal interface to control your Android device connected to a computer using a USB. ADB can be used to run shell commands, transfer files, install/uninstall apps, reboot and more. You can also backup and restore your android devices using these commands.

pCloudy also allows you to execute ADB Shell Commands on the connected device.

Select your desired device from the list and connect.

While trying to execute ADB Shell command, you just need to follow few simple steps as given below:

1. Select a device from the displayed list

2. Confirm connection of your selected device

3. The connected device is ready testing

4. Enter ADB shell command to the given text box

5. Execute given ADB shell command

6. ADB shell command execution result

Useful Android terminal commands:

1. ADB reboot-bootloader and reboot recovery commands:

This command will let you can reboot your device in the bootloader. If due to some malware your device is stuck or if your device is not rebooting then you can connect your device to the computer and run this command to reboot. To run the command just type adb reboot-bootloader in the command line and to boot the device in recovery just type adb reboot recovery.

2. Fastboot device command:

Fastboot is a diagnostic and engineering protocol that you can boot your Android device into. ADB does not work in the bootloader. If you have to boot into Android and the debugging tools are not active to communicate then you can use the fastboot command. Type fastboot devices in the prompt and you get the serial number.

3. Fastboot unlock command

Fastboot flashing unlock command unlocks your bootloader. This command is not supported in many phones that support fastboot but you can check if your phone supports it. Just type fastboot flashing unlock in the command prompt and hit enter.

4. ADB sideload command:

You can download the update zip file in your phone instead of waiting for the update to be pushed into the phone. To do that just download the update to your computer and connect your device to the computer. Now reboot into recovery on your phone and using the volume buttons choose to apply update from ADB. then open command line and type ADB sideload Full-Path-to-the-file.zip and hit enter.

A lot of users create android shell commands root in a device in spite of security. The adb reboot-bootloader command allows you to boot directly to your phone’s bootloader. Once you’re in the bootloader, ADB shell commands won’t work anymore. That’s where Android ADB fastboot command comes into the picture. Fastboot allows you to send commands to your phone while in the boot loader.

Консольный Android: 50 команд ADB, о которых должен знать каждый

Существует множество инструментов для работы с подключенным с помощью USB-кабеля или Wi-Fi смартфоном. Особо развитые инструменты позволяют перемещать файлы, устанавливать и удалять софт, просматривать контакты, делать скриншоты экрана и даже отправлять СМС, однако ни один графический инструмент не сравнится с мощью, которую может дать консоль Android. В этой статье мы поговорим об ADB (Android Debug Bridge) — стандартном инструменте для отладки и работы с консолью Android с компа.

Основы работы с ADB

Для начала работы с ADB его следует активировать на устройстве и установить утилиту adb и драйверы на комп. Первая задача выполняется с помощью включения «Отладки по USB» в пункте настроек «Для разработчиков» (если этот пункт скрыт, нажми семь раз на номер сборки в меню «О телефоне»).

Для установки ADB на комп качаем Adb Kit и распаковываем в любую папку (рекомендую использовать названия папок без русских символов). Также скачиваем и устанавливаем драйверы ADB.

Работать с adb нужно из командной строки. Нажимаем Win + R и вводим cmd, далее переходим в папку, в которой лежит adb. Для моей папки команда будет следующей:

Чтобы не проделывать все эти манипуляции каждый раз, можно добавить нужную папку в переменную Path. Для этого необходимо зайти в «Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды», найти переменную Path и добавить в конец строки, через точку с запятой, путь до папки с adb. Теперь после запуска консоли можно сразу вводить необходимые команды.

Добавление adb в переменную Path

Добавление adb в переменную Path

Другие статьи в выпуске:

Xakep #208. Атака на сигналку

Проверим наше подключение к телефону с помощью следующей команды (она должна вывести список подключенных устройств):

С ADB можно работать через Wi-Fi. Для этого нужны права root и приложение WiFi ADB. Запускаем приложение, жмем переключатель и подсоединяемся к смартфону с помощью команды connect и показанного приложением IP-адреса:

Далее работа с ADB ничем не отличается.

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

ADB можно использовать для установки приложений без необходимости копировать их на смартфон. Достаточно выполнить такую команду:

В команду также можно добавить дополнительные ключи. Полезными будут — переустановить приложение с сохранением данных и -d — установить версию меньше текущей.

Программы можно и удалять, но для этого нужно знать название пакета (как узнать, расскажу чуть позже). На примере игры Angry Birds Seasons команда будет выглядеть так:

Бэкап приложений

В Android есть встроенные функции бэкапа, которые также можно запустить с помощью командной строки. Для этого используется команда adb backup и набор опций:

  • -f указывает имя создаваемого файла и его расположение на компе. При отсутствии ключа будет создан файл backup.ab в текущем каталоге;
  • -apk|-noapk указывает, включать ли в бэкап только данные приложения или сам .apk тоже (по умолчанию не включает);
  • -obb|-noobb указывает, включать ли в бэкап расширения .obb для приложений (по умолчанию не включает);
  • -shared|-noshared указывает, включать ли в бэкап содержимое приложения на SD-карте (по умолчанию не включает);
  • -all указывает на необходимость бэкапа всех установленных приложений;
  • -system|-nosystem указывает, включать ли в бэкап системные приложения (по умолчанию включает);

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

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

Процесс бэкапа

Процесс бэкапа

Консоль в консоли

Наряду с упомянутой консолью, которая является DOS-консолью под Windows, в Android существует и своя. Она вызывается через adb shell и представляет собой по сути стандартную Linux-консоль, но с неполным набором команд, расширить который можно, установив из маркета BusyBox. Использовать эту консоль можно двумя способами. В интерактивном режиме она запускается командой

В консоли появляется знак $ (далее по тексту этот знак будет означать необходимость ввода предварительной команды adb shell), и после этого можно вводить серию команд, получая после каждой отклик. Второй способ — если необходимо ввести только одну команду, можно писать ее подряд за adb shell.

В шелле работают стандартные команды для копирования, перемещения и удаления файлов: cp, mv и rm. Можно менять каталоги (cd) и смотреть их содержимое (ls). Кроме стандартных Linux-команд, о которых можно узнать из любого справочника, в Android есть несколько своих специализированных инструментов, но, чтобы использовать некоторые из них, придется получить на смартфоне права root, а после запуска консоли выполнять команду su:

Это нужно делать, если в ответ на какую-либо команду ты видишь строку, похожую на «access denied» или «are you root?». В случае успеха знак $ сменится на #.

Вывод свободного пространства на устройстве командой adb shell df Вывод свободного пространства на устройстве командой adb shell df
Пример работы команды ls для вывода информации о разделах Пример работы команды ls для вывода информации о разделах

Создание скриншота

Выполняется одной строчкой:

После этого картинку нужно выдернуть из устройства командой adb pull:

В recovery скриншот можно сделать следующей командой:

Затем необходимо преобразовать файл fb0 в нормальное изображение с помощью FFmpeg, который нужно скачать и положить в папку с adb. Расширение необходимо ставить своего устройства:

Запись видео, происходящего на экране устройства

Данная команда начнет записывать видео с разрешением 1280 x 720 (если не указать, то будет использовано нативное разрешение экрана устройства), с битрейтом 6 Мбит/с, длиной 20 с (если не указать, то будет выставлено максимальное значение 180 с), с показом логов в консоли. Записанное видео будет находиться в /sdcard (файл video.mp4).

Управление приложениями

Для управления приложениями используются две команды: pm (package manager) — менеджер пакетов и am (activity manager) — менеджер активностей. У данных команд есть немало ключей, которые можно посмотреть на портале разработчиков. Остановимся на некоторых.

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

Добавив в конец -s, ты увидишь только системные приложения, -3 — только сторонние, -f покажет пути установки пакетов, а -d — отключенные приложения. Далее, зная названия пакетов, можно совершать над ними различные насильственные действия :). Например, отключить ненужный календарь:

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

Для использования activity manager понадобятся более глубокие знания структуры Android и понимание того, что такое Avtivity и Intent. Это позволит тебе запускать различные приложения, например браузер или настройки:

Завершить работу приложения можно противоположной командой:

Ну а убить все запущенные приложения — такой командой:

Тот же activity manager поможет сделать звонок на нужный номер телефона:

А так можно открыть страницу в браузере:

Запуск браузера из консоли

Запуск браузера из консоли

А с помощью вариации предыдущей команды можно отправить СМС:

В данной команде input keyevent эмулирует нажатие кнопок и может использоваться как для хардварных, так и для кнопок внутри приложения. В нашем примере 22 соответствует перевод фокуса вправо (джойстик вправо — dpad right), а 66 — Enter.

С помощью команды input можно, например, разблокировать телефон. Для этого необходимо ввести:

Погасит экран keyevent 26, что соответствует нажатию кнопки Power. Можно также поэкспериментировать с цифрами 3 — Home, 4 — Back, 24 — Volume Up, 25 — Volume Down, 27 — физическая кнопка Camera. Последнюю кнопку можно передать и через широковещательные сообщения (полный список широковещательных сообщений ты найдешь тут):

Другое широковещательное сообщение переведет телефон в режим самолета:

Но данная команда не сработает на последних версиях Android. Для управления питанием и беспроводными коммуникациями там используется утилита svc. Например, включить передачу данных через мобильную сеть или управлять Wi-Fi можно через команды

Также можно заставить смартфон оставаться включенным при подключении к USB-порту/зарядке/Wi-Fi-сети или всегда:

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

Кроме опции text, у команды input есть и другие. Полная форма команды такова:

В качестве источника можно указывать trackball, joystick, touchnavigation, mouse, keyboard, gamepad, touchpad, dpad, stylus, touchscreen. В качестве команд будут:

  • text (Default: touchscreen) [delay]
  • keyevent [–longpress] … (Default: keyboard)
  • tap (Default: touchscreen)
  • swipe [duration(ms)] (Default: touchscreen)
  • press (Default: trackball)
  • roll (Default: trackball)

Как видно из команд, можно, хотя и с трудом, управлять устройством через команды input touch и input swipe при разбитом экране, если не поддерживается работа мышки через USB-OTG. Например, вытянуть шторку с уведомлениями получится так (отсчет координат идет от левого верхнего угла):

А так можно узнать разрешение экрана:

Для Nexus 5 разрешение выдаст 1080 х 1920. Тогда нажать на кнопку «Меню приложений» стандартного лаунчера от Google, которая находится над кнопкой «Домой», можно так:

Скрипты

Выполнение всех описываемых в статье серий команд можно автоматизировать. Для этого вставляем их в текстовый файл (строки, следующие за adb shell), который имеет в начале строку #!/system/bin/sh, сохраняем с расширением sh и закидываем на устройство. После этого можно запускать скрипт через тот же adb:

Системные утилиты

Кратко остановлюсь на нескольких полезных командах (работоспособность некоторых, однако, может зависеть от версии прошивки и модели телефона).

Изменение DPI. Не требует root и работает на Android 5.0+. Стандартное значение для Nexus 5 — 480. При значении 420 на рабочем столе стокового лаунчера помещается пять иконок в ряд вместо четырех:

Подключение /system в режиме записи. Для части команд, которые меняют системные файлы, необходимо сначала перемонтировать раздел /system на запись. Это необходимо в том числе при удалении системных приложений. Перемонтирование выполняется следующей командой:

Мягкая перезагрузка:

Перевод смартфона в режим энергосбережения Doze (Android M+):

. повторяем действия, пока не увидим idle.

Батарейка в процентах (Android 4.4+):

Снятие логов

Очень часто, когда для решения проблемы пользователь обращается на форум устройства, там его просят скинуть логи работы телефона или приложения. Отвечают за это две утилиты: logcat и dmesg. Первая позволяет увидеть системные сообщения в реальном времени, а вторая постфактум покажет работу ядра, включая сообщения ошибок ввода-вывода, загрузку драйверов, подключение USB-устройств и так далее. Полный лог можно вывести сразу в файл следующей командой:

Все события будут записываться непрерывно по мере работы устройства. Остановить запись можно стандартной комбинацией Ctrl + C. Однако в лог попадает вся информация, что сильно затрудняет поиск нужной. Поэтому для работы обычно используют набор ключей и фильтров, подходящих к конкретной ситуации. Существует семь приоритетов сообщений по мере возрастания: V — Verbose, D — Debug, I — Info, W — Warning, E — Error, F — Fatal, S — Silent. Например, для вывода всех сообщений с приоритетом Е и выше следует ввести:

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

Вывод команды adb logcat -b events

Вывод команды adb logcat -b events

Продвинутый уровень

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

Чтобы база читалась, необходимо выгрузить браузер из работающих приложений. Прервать выполнение скрипта sqlite можно, нажав Ctrl + Z, а выйти — командой .quit. Если в ответ на команду ты получишь ошибку /system/bin/sh: sqlite3: not found, значит, на смартфоне нет sqlite3 и ее придется скачать, закинуть в /system/bin и дать файлу все права. Я использую sqlite3, который вытащил когда-то из Titanium Backup.

История браузера Chrome

История браузера Chrome

Также с помощью sqlite3 можно выдернуть все контакты с телефона. Для этого в консоли на компе должен использоваться шрифт Lucida Console и перед началом выполнения команд необходимо перевести кодировку на UTF-8. Иначе вместо русских букв будут отображаться непонятные символы. Сами команды выглядят так:

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

Вывод контактов из базы contacts2.db

Вывод контактов из базы contacts2.db

Можно вывести данные не на экран, а сразу в текстовый файл. Для этого команды нужно изменить:

Альтернативный способ вывода контактов в файл — команда, требующая установленного BusyBox:

Снятие графического ключа, PIN, facelock

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

Команда удалит все пароли и графические ключи. Сами файлы в зависимости от прошивки и модели устройства могут быть: gesture.key, password.key, cm_gesture.key, personalpattern.key, personalbackuppin.key. Также за блокировку отвечают файлы locksettings.db, locksettings.db-shm, locksettings.db-wal.

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

Выводы

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

Как включить телефон через adb

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

Но не всегда такое фирменное ПО прилагается, например, для пользователей Linux. Поэтому желательно хотя бы иметь представление об универсальном интерфейсе доступа к устройствам Android с персонального компьютера, который называется Android Debug Bridge (отладочный мост Android) или кратко — ADB. Реализован этот интерфейс в виде консольной утилиты под одноимённым названием adb, которая имеется для всех популярных операционных систем и запускается из командной строки.

Программа adb устанавливает связь между устройством и компьютером, позволяет посылать команды на устройство через USB соединение и выполнять различные манипуляции с системой Android. Продвинутые пользователи сталкивались с ней при получении прав root, установке ClockworkMod Recovery.

Утилита является составной частью Android SDK, предназначенного для разработчиков. Также эту утилиту производитель смартфона может поставлять вместе с драйверами конкретного мобильного устройства. Но более подробно об установке утилиты чуть ниже.

Основные возможности интерфейса ADB:

  • просмотр подключенных к ПК устройств Android;
  • просмотр лога системы Android;
  • копирование файлов с/на устройство Android;
  • установка и удаление приложений на устройстве Android;
  • очищать раздел data на устройстве Android;
  • запускать различные скрипты управления устройством Android.


Подготовка к работе

Для начала нужно установить саму консольную утилиту adb. Существует несколько вариантов её получения.

1. Обычно в системах Windows она может установиться вместе с фирменными драйверами смартфона или планшета. Искать её обычно следует в папке Program Files в каталоге, имеющем название марки смартфона.

2. Универсальным способом получения adb для пользователей всех операционных систем является установка утилиты через менеджер Android SDK.

Для этого нужно скачать сам архив Android SDK и распаковать. Пользователям Windows в корневой папке архива нужно запустить SDK Manager.exe. Пользователям Linux в папке tools архива SDK нужно запустить исполняемый файл android. (В системе также должна быть установлена Java).

В результате запустится менеджер компонентов Android SDK, через который нужно загрузить компоненты "Android SDK Tools" и "Android SDK Platform tools". Утилита adb должна появиться в каталоге platform-tools в папке разархивированного Android SDK.

3. Пользователи Ubuntu 12.10+ могут загрузить нужные утилиты прямо через менеджер пакетов системы. Утилита adb уже имеется в официальном репозитории этого дистрибутива. Установить нужно пакеты android-tools-adb и android-tools-fastboot.

Для полноценной работы в Windows необходимо установить еще и драйвера конкретного устройства для поддержки интерфейса ADB по USB. Обычно Windows Vista и Windows 7 сами находят этот драйвер в Сети. После установки USB-драйверов для Windows в диспетчере устройств вы должны наблюдать: My Computer — Android Phone — Android ADB Interface. Если у вас вместо Android ADB Interface после подключения устройства светится желтый вопросительный знак, значит, драйвера установились некорректно.

Для пользователей Linux драйвера устанавливать не нужно, но надо написать правило для udev. Ниже приведена последовательность создания правила для Ubuntu.

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

Bus 002 Device 006: ID 12d1:1038 Huawei Technologies Co., Ltd.

Здесь idVendor — это шестнадцатеричные цифры после ID и до двоеточия. IdProduct — это следующие четыре цифры после двоеточия.

После этого создаём файл /etc/udev/rules.d/51-android.rules с правами chmod 644 и со следующим содержанием (подставлять свои значения ID и пользователя):

В первом и втором случае получения adb очень желательно настроить переменные окружения, чтобы не вводить при запуске в консоли полный путь к установленной утилите. О том, как это делать, не раз писалось и на страницах "КВ", поэтому не будем подробно устанавливаться на этом вопросе.

Настройка персонального компьютера на этом закончена. На мобильном устройстве должна быть включена отладка по USB: "Настройки — Приложения — Разработка — Отладка по USB". Подключите ваш телефон через кабель USB и НЕ МОНТИРУЙТЕ как SD!

Для получения абсолютно всех возможностей adb мобильное устройство должно уже иметь root, и также должен быть установлен пакет Busybox (имеется в Google Play). Но всегда следует помнить, что установка прав root в некоторых случаях может лишить гарантии на ваше устройств.

Вот теперь можно приступать к работе с adb.


Работа с adb

Рассмотрим некоторые команды adb. Открываем консоль и запускаем команду

Данная команда выведет список устройств, подключенных к ПК. Должно появиться что-то вроде

List of devices attached
4CA94Dxxxxx device

Просто перезагрузка устройства

Быстрая перезагрузка устройства в режим Recovery

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

Просмотреть лог работы устройства

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

И при помощи ADB можно запустить на мобильном устройстве самый настоящий шелл Unix.

Запустив шелл, можно использовать все доступные на устройстве команды UNIX — cat, ls, df и другие, а также запускать сценарии.

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

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

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

Большинство пользователей Andro >Android Debug Bridge , расшифровывается, как «Отладочный Мост Android». ADB является частью Android SDK. При помощи ADB можно выполнять различные действия над вашим Android планшетом или смартфоном, такие как: перепрошивку, копирование файлов с компьютера на Андроид и обратно, восстановление системы и другие.

Содержание — ADB команды для Android:

ADB для Android — что это такое?

Вам наверняка известно, что операционная система Andro >официального сайта . Есть версии для всех популярных операционных систем: Windows, Mac OS и Linux. То есть, проще говоря, adb позволяет при помощи компьютера управлять телефоном или планшетом.

ADB команды для Android

Подключите ваше устройство к ПК по USB. Убедитесь, что установлены все драйвера и включена отладка по USB .

Работать с Android Debug Bridge лучше всего через командную строку Windows. Для этого в Windows XP нажмите «Пуск» и в поле ввода «Найти программы и файлы» введите «cmd», после этого нажмите «Enter». Если у вас Windows 7 и выше, нажмите «Пуск» и в поле «Выполнить» введите «cmd» и снова нажмите клавишу «Enter».

adb devices

Самая распространенная команда adb. При помощи нее можно определить, видит ли ваш ПК подключенное устройство. Если вы всё сделали нормально, то появится такая строка: «List of devices attached». После нее вы увидите серийный номер вашего смартфона или планшета и его состояние: «online» либо «offline».

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

adb install

Благодаря этой команде вы можете устанавливать приложения на вашем смартфоне или планшете. Для этого нужно прописать путь, где находится APK файл:

adb intsall D:papka_s_faylom
azvanie_prilogeniya.apk

Чтобы не писать длинных путей, скопируйте файл в директорию android-tools. Тогда путь станет таким:

adb intsall nazvanie_prilogeniya.apk

adb uninstall

Вводить нужно аналогично предыдущей команде. При этом приложение удалится.

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

adb push

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

adb push D:papka_s_faylom
azvanie_fayla/sdcard/Android

Чтобы не писать длинных путей, скопируйте файл в директорию android-tools. Тогда вводить нужно:

adb push nazvanie_fayla/sdcard/Android

adb pull

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

adb pull /sdcard/nazvanie_faylaD:papka_gde_sohranity

adb reboot

Эта команда перезагрузит ваш Android телефон или планшет.

adb reboot-bootloader

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

adb reboot recovery

Не все девайсы поддерживают данную команду. При помощи нее можно попасть в режим восстановления.

adb connect

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

adb connect ip:port

adb shell

При помощи этой команды вы получаете полный доступ ко всем файлам на вашем устройстве.

Второй способ использования adb shell — это выполнение единичной команды Android shell с помощью такой конструкции:

fastboot devices

Если вы переведете ваш телефон или планшет под управлением Андроид в режим bootloader , то команды adb больше срабатывать не будут. Здесь нужно использовать команды fastboot.

Чтобы проверить, видят ли ПК и Android друг друга, используем команду:

После её ввода должен появится серийный номер вашего аппарата.

fastboot oem unlock

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

fastboot oem unlock

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

adb logcat

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

adb logcat > filename.txt

adb sideload

Команда пригодится для владельцев устройств линейки Google Nexus. При помощи нее можно обновить прошивку девайса. Скачайте её на компьютер, подключите к нему Nexus, зайдите в режим Recovery, выберите пункт «Apply update from ADB» и после этого введите команду:

adb sideload name.zip

name.zip – это имя zip файла c прошивкой.

adb backup и adb restore

Команда adb backup создает бэкап, а adb restore проводит восстановление из бэкапа.

Содержание статьи

Существует множество инструментов для работы с подключенным с помощью USB-кабеля или Wi-Fi смартфоном. Особо развитые инструменты позволяют перемещать файлы, устанавливать и удалять софт, просматривать контакты, делать скриншоты экрана и даже отправлять СМС, однако ни один графический инструмент не сравнится с мощью, которую может дать консоль Android. В этой статье мы поговорим об ADB (Android Debug Bridge) — стандартном инструменте для отладки и работы с консолью Android с компа.

Основы работы с ADB

Для начала работы с ADB его следует активировать на устройстве и установить утилиту adb и драйверы на комп. Первая задача выполняется с помощью включения «Отладки по USB» в пункте настроек «Для разработчиков» (если этот пункт скрыт, нажми семь раз на номер сборки в меню «О телефоне»).

Для установки ADB на комп качаем Adb Kit и распаковываем в любую папку (рекомендую использовать названия папок без русских символов). Также скачиваем и устанавливаем драйверы ADB.

Работать с adb нужно из командной строки. Нажимаем Win + R и вводим cmd, далее переходим в папку, в которой лежит adb. Для моей папки команда будет следующей:

Чтобы не проделывать все эти манипуляции каждый раз, можно добавить нужную папку в переменную Path. Для этого необходимо зайти в «Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды», найти переменную Path и добавить в конец строки, через точку с запятой, путь до папки с adb. Теперь после запуска консоли можно сразу вводить необходимые команды.

Добавление adb в переменную Path

Проверим наше подключение к телефону с помощью следующей команды (она должна вывести список подключенных устройств):

С ADB можно работать через Wi-Fi. Для этого нужны права root и приложение WiFi ADB. Запускаем приложение, жмем переключатель и подсоединяемся к смартфону с помощью команды connect и показанного приложением IP-адреса:

Далее работа с ADB ничем не отличается.

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

ADB можно использовать для установки приложений без необходимости копировать их на смартфон. Достаточно выполнить такую команду:

В команду также можно добавить дополнительные ключи. Полезными будут — переустановить приложение с сохранением данных и -d — установить версию меньше текущей.

Программы можно и удалять, но для этого нужно знать название пакета (как узнать, расскажу чуть позже). На примере игры Angry Birds Seasons команда будет выглядеть так:

Бэкап приложений

В Android есть встроенные функции бэкапа, которые также можно запустить с помощью командной строки. Для этого используется команда adb backup и набор опций:

  • -f указывает имя создаваемого файла и его расположение на компе. При отсутствии ключа будет создан файл backup.ab в текущем каталоге;
  • -apk|-noapk указывает, включать ли в бэкап только данные приложения или сам .apk тоже (по умолчанию не включает);
  • -obb|-noobb указывает, включать ли в бэкап расширения .obb для приложений (по умолчанию не включает);
  • -shared|-noshared указывает, включать ли в бэкап содержимое приложения на SD-карте (по умолчанию не включает);
  • -all указывает на необходимость бэкапа всех установленных приложений;
  • -system|-nosystem указывает, включать ли в бэкап системные приложения (по умолчанию включает);

— перечень пакетов для бэкапа.

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

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

Процесс бэкапа

Консоль в консоли

Наряду с упомянутой консолью, которая является DOS-консолью под Windows, в Android существует и своя. Она вызывается через adb shell и представляет собой по сути стандартную Linux-консоль, но с неполным набором команд, расширить который можно, установив из маркета BusyBox. Использовать эту консоль можно двумя способами. В интерактивном режиме она запускается командой

В консоли появляется знак $ (далее по тексту этот знак будет означать необходимость ввода предварительной команды adb shell), и после этого можно вводить серию команд, получая после каждой отклик. Второй способ — если необходимо ввести только одну команду, можно писать ее подряд за adb shell.

В шелле работают стандартные команды для копирования, перемещения и удаления файлов: cp, mv и rm. Можно менять каталоги (cd) и смотреть их содержимое (ls). Кроме стандартных Linux-команд, о которых можно узнать из любого справочника, в Android есть несколько своих специализированных инструментов, но, чтобы использовать некоторые из них, придется получить на смартфоне права root, а после запуска консоли выполнять команду su:

Это нужно делать, если в ответ на какую-либо команду ты видишь строку, похожую на «access denied» или «are you root?». В случае успеха знак $ сменится на #.

Вывод свободного пространства на устройстве командой adb shell df
Пример работы команды ls для вывода информации о разделах

Создание скриншота

Выполняется одной строчкой:

После этого картинку нужно выдернуть из устройства командой adb pull:

В recovery скриншот можно сделать следующей командой:

Затем необходимо преобразовать файл fb0 в нормальное изображение с помощью FFmpeg, который нужно скачать и положить в папку с adb. Расширение необходимо ставить своего устройства:

Запись видео, происходящего на экране устройства

Данная команда начнет записывать видео с разрешением 1280 x 720 (если не указать, то будет использовано нативное разрешение экрана устройства), с битрейтом 6 Мбит/с, длиной 20 с (если не указать, то будет выставлено максимальное значение 180 с), с показом логов в консоли. Записанное видео будет находиться в /sdcard (файл video.mp4).

Управление приложениями

Для управления приложениями используются две команды: pm (package manager) — менеджер пакетов и am (activity manager) — менеджер активностей. У данных команд есть немало ключей, которые можно посмотреть на портале разработчиков. Остановимся на некоторых.

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

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://anonimnyj.vyvod-iz-zapoya-na-domu-voronezh-fds.ru/