Запуск android debug bridge

Работа с Android-устройством по ADB(Android Debug Bridge) и в режиме FastBoot

Работа с Android-устройством по ADB(Android Debug Bridge) и в режиме FastBoot

ADB (Android Debug Bridge — Отладочный мост Android) — консольное приложение для PC, с помощью которого производится отладка Android устройств. Работает по принципу клиент-сервер.
Поставляется «adb.exe» в составе инструментария разработчика Android (Android SDK), который, в свою очередь входит в состав «Android Studio«. Для того, чтобы не устанавливать громоздкий SDK в нижеприведенной инструкции предлагается минимальный комплект ( спасибо уважаемому @psihop ) для работы с устройством по ADB.
При первом запуске «adb.exe» с любой командой создается сервер в виде системной службы (демона), которая будет прослушивать все команды, посылаемые на порт 5037.

Основные возможности:

  • Вывод списка подключенных к ПК устройств, работающих по протоколу ADB.
  • Просмотр логов работы Android ОС.
  • Копирование файлов с/на аппарат.
  • Установка/удаление приложений.
  • Создание и восстановление пользовательских данных.
  • Выполнение unix-команд на устройстве. Запуск скриптов.
  • Прошивка устройства.
  • Управление сетевыми параметрами.
  • .

Установка и настройка ADB на ПК:

  • Скачать и установить как обычную программу драйверы: Android_adb-USB_UnifL_Driver_v1.02.zip (Более новая версия может быть в отдельной теме )
  • Скачать комплект для работы с устройством: ADB.rar
  • Распаковать архив в произвольную папку с латинским названием. Например: «c:\adb\«. Полный путь до файлов комплекта НЕ должен содержать пробелов, спецсимволов, русских букв и т.п. В данном примере в папке «c:\adb\» должны быть 5 файлов:
    • «adb.exe» — непосредственно сам ADB, с которым будем работать.
    • «AdbWinApi.dll» — библиотека для работы ADB.
    • «AdbWinUsbApi.dll» — библиотека для работы ADB.
    • «fastboot.exe» — управление устройством переведенным в режим fastboot.
    • «START.exe» — программа для облегченного запуска ADB.

Установка и настройка ADB на аппарате:

  • Запустить «c:\adb\START.exe«, запустится командная строка Windows (cmd.exe — обработчик команд Windows).
  • В окне командной строки ввести: «adb devices» и нажать Enter. Если все настроено верно, будет выведен ответ:
  • Если что-то настроено неверно, то в списке подключенных устройств (List of devices attached) будет пусто.
  • Список команд ADB (Полный список команд можно получить, изучив исходники ):

    • Отправка команды только на устройство подключенное через USB. Внимание: Выдаст ошибку, если подключено больше одного устройства.
      adb -d
    • Отправка команды на устройство в эмуляторе. Внимание: Выдаст ошибку, если подключено больше одного эмулятора.
      adb -e
    • Отправка команды на устройство с указанным серийным номером.
      adb -s
    • Отправка команды на устройство с указанным именем. Если ключ -p не указан, используется значение переменной ANDROID_PRODUCT_OUT.
      adb -p
    • Список всех подсоединенных устройств.
      adb devices
    • Подключится к устройству Android по протоколу TCP/IP через порт 5555 (по умолчанию, если не задан).
      adb connect [: ]
    • Отключится от устройства Android подключенного через TCP/IP порт 5555 (по умолчанию, если не задан). Если не задан ни один параметр, отключиться от всех активных соединений.
      adb disconnect [ [: ]]
    • Копировать файл/папку ПК->Android-устройство.
      adb push
    • Копировать файл/папку Android-устройство->ПК.
      adb pull [ ]
    • Копировать PC->Android-устройство только новые файлы. Ключи: Не копировать, только создать список -l.
      adb sync [ ]
    • Запуск упрощенного unix shell. Примеры приведены в следующем спойлере.
      adb shell
    • Отправить команду в консоль эмулятора.
      adb emu
    • Отправить приложение на устройство и установить его.
      adb install [-l] [-r] [-s]
      Например: adb install c:/adb/app/autostarts.apk
      Ключи: Блокировка приложения -l. Переустановить приложение, с сохранением данных -r. Установить приложение на карту памяти -s.
    • Удаление приложения с устройства.
      adb uninstall [-k]
      Ключи: Не удалять сохраненные данные приложения и пользователя -k.
    • Ожидать подключения устройства.
      adb wait-for-device
    • Запустить службу/демон.
      adb start-server
    • Остановить службу/демон.
      adb kill-server
    • Получить статус устройства.
      adb get-state
      Значения статусов: offline (выключен), bootloader (режим загрузчика), device (режим штатной работы Android).
    • Получить серийный номер.
      adb get-serialno
    • Непрерывный опрос состояния.
      adb status-window
    • Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на разделах system, data, cache и т.д.
      adb remount
    • Перезагрузка в режим bootloader.
      adb reboot bootloader
    • Перезагрузка в режим recovery.
      adb reboot recovery
    • Перезапуск демона с правами root.
      adb root
    • Перезапуск демона, прослушивающего USB.
      adb usb
    • Перезапуск демона, прослушивающего порт TCP.
      adb tcpip
    • Запуск службы через USB. Параметры: defaultroute debug dump local notty usepeerdns
      adb ppp [параметры]
    Читайте также:  Как удалить вибер с андроида полностью

    Примеры работы по ADB:

    Ниже перечисленные примеры можно вводить в командную строку. Для удобства их можно вписать в файл-сценария .cmd или .bat.

    Удаление папки со всеми вложенными каталогами и файлами. Например всей музыки.

    Информация о разделах внутренней памяти аппарата.

    Информация о точках монтирования, общем и свободном пространстве на разделах.

    Информация о разделении ROM-памяти на разделы.

    Резервная копия определенного раздела.

    Монтирование разделов /system и /data в режиме mod-recovery.

    FastBoot — консольное приложение для ПК. Используется как правило для прошивки и аварийного восстановления работоспособности аппарата.

    Список команд fastboot:

    • Список присоединенных устройств в режиме fastboot.
      fastboot devices
    • Прошивка файла .img в раздел устройства.
      fastboot flash
    • Стирание раздела. Разделы: boot, recovery, system, userdata, radio.
      fastboot erase
    • Прошивка из файла имя_файла.zip
      fastboot update
    • Прошивка boot + recovery + system.
      fastboot flashall
    • Показать переменные bootloader.
      fastboot getvar
    • Отправить ядро (kernel) на устройство и запустить его из оперативной памяти, без прошивки.
      fastboot boot [ ]
    • Отправить ядро (kernel) на устройство и прошить его.
      fastboot flash:raw boot [ ]
    • Продолжить загрузку.
      fastboot continue
    • Перезагрузить аппарат.
      fastboot reboot
    • Перезагрузить аппарат в режим bootloader.
      fastboot reboot-bootloader

    Перед командами «fastboot» можно использовать ключи:

    • -w стереть данные пользователя и кэш
    • -s Указать серийный номер устройства.
    • -p

    Указать название устройства.

  • -c Переопределить kernel commandline.
  • -i Указать вручную USB vendor id.
  • -b Указать в ручную базовый адрес kernel.
  • -n

    Указать размер страниц nand. По умолчанию 2048.

    Примеры работы в режиме fastboot:

    Прошивка модема. Переименовать файл модема в radio.img и положить его в папку C:\ADB\.

    Восстановление прошивки из резервной копии.

    Источник

    Запуск android debug bridge

    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

    Источник

    Читайте также:  Как удалить аккаунты гугл с android
  • Оцените статью