Adb как подключиться к телефону
Использование любого реального устройства для мобильной автоматизации Тестирование всегда было проблемой для тестировщиков. Но Android предлагает небольшое решение для подключения реального устройства через USB, то есть Android Debug Bridge (ADB).
ADB — это инструмент командной строки. Он используется для моста связи между экземпляром эмулятора (устройство Android) и фоновым запущенным процессом демона (сервером).
В этом уроке вы узнаете
Отладка USB и настройка ADB
APPIUM предлагает преимущество для выполнения теста на реальных устройствах. Но перед запуском теста нам необходимо выполнить следующие предварительные условия.
- Отладка по USB должна быть включена
- Конфигурация ADB
- Требуемая настройка возможностей в соответствии с изменениями оборудования.
Здесь мы увидим как соединение с эмулятором, так и с реальным устройством для тестирования. Смотрите шаги ниже для подключения к эмулятору.
Как подключиться к эмулятору
Pre-Requisite-SDK (Software Development Kit) должен быть установлен на машине. ADB поставляется вместе с Google Android SDK (Software Development Kit). Шаги по включению ADB из SDK Manager.
Шаг 1) Откройте папку Android SDK
Шаг 2) Дважды щелкните по SDK Manager
Шаг 3) Из списка всех пакетов выберите Инструменты и установите флажок для
- Android SDK Инструменты и
- Android SDK Платформа-инструменты.
Как подключить устройство Android
Шаг 1) Включите опцию отладки USB из «Developer Option» в телефоне Android.
Шаг 2) Откройте локальную папку, в которой были сохранены файлы Android SDK «Android SDK >> Инструменты платформы», например: C: \ android-sdk \ platform-tools
Шаг 3) Внутри папки удерживайте Shift + меню правой кнопкой мыши >> Выберите «Открыть окно команд здесь» .
Он откроет папку с помощью командной строки.
Примечание. Вы также можете открыть путь к папке непосредственно из команды «Выполнить» в командной строке.
Это командное окно откроет папку непосредственно в окне командной строки.
Шаг 4) Теперь, перед проверкой устройства, пользователь должен подключить внешнее устройство Android (мобильный телефон). Для подключения используйте USB-кабель устройства к системе. Затем в приведенной выше командной строке введите команду
Он будет отображать весь список всех подключенных устройств.
Но перед этим мы должны проверить этот сервер ADB. Проверьте, работает ли он как фоновый процесс или нет. Просто откройте командную строку из вышеупомянутой процедуры и напишите «adb» и нажмите ввод. Он должен отображать весь запущенный процесс ADB.
Когда сервер запускается, он всегда привязывает локальный TCP-порт 5037. Все клиенты ADB прослушивают TCP-порт 5037 для связи с запросом сервера.
Теперь работающий сервер ADB может сканировать все подключенные экземпляры эмулятора или устройства, сканируя порт.
Всегда помните, что демон ADB работает на нечетном порту между диапазонами от 5555 до 5558.
Процесс демона ADB выполняется с консольным соединением, которое получает четный номер порта для соединения.
Например: если подключено одно устройство, сервер автоматически сканирует устройство и подключается, но если работает несколько устройств или эмуляторов, пользователю необходимо дать команду ADB для подключения к командной строке.
Экземпляр эмулятора, подключенный к нечетному порту 5557, имеет ту же консоль, работающую через порт 5556 с четным номером, т.е. Каждое работающее устройство имеет 1 нечетный и 1 четный подключенный порт.
Команда для обнаружения всех подключенных устройств —
Команда обнаружения одного устройства из нескольких подключенных устройств
Он обнаружит соединение adb для устройства -5554 и установит приложение.
Таким образом, таким образом пользователь может установить успешное соединение для доступа к экземплярам ADB с помощью команд ADB.
Как настроить поддержку ADB для Wi-Fi
Как и при настройке ADB через USB, пользователь также может настроить ADB через Wi-Fi.
Предпосылка
- Устройство Android и хост-компьютер должны быть подключены к одной беспроводной сети и
- Опция Bluetooth устройства должна быть отключена.
Шаги для подключения
- Подключите устройство с помощью USB-кабеля к главному компьютеру. Убедитесь, что отладка по USB включена на устройстве.
- Установите целевое устройство для подключения TCP / IP через порт 5555
- Теперь отсоедините USB-кабель от устройства.
- В устройстве Android найдите IP-адрес в меню «Настройки» >> «Настройки Wi-Fi» >> «Дополнительно» >> «IP-адрес».
Используйте тот же IP-адрес для подключения устройства через соединение ADB
Следовательно, окончательная конфигурация выполнена и «adb» успешно настроен по беспроводной сети.
ПРИМЕЧАНИЕ. Если произошла какая-либо ошибка соединения, просто сбросьте или прервите соединение с хостом adb. Для этого используйте следующую команду
- Посмотреть какие устройства подключены и могут работать с ADB.
- Просматривать логи.
- Копировать файлы с/на аппарат.
- Устанавливать/Удалять приложения.
- Удалять (очищать) раздел data.
- Прошивать (перезаписывать) раздел data.
- Осуществлять различные скрипты управления.
- Управлять некоторыми сетевыми параметрами.
Настройки соединения, устройства. Драйверы.
Настраиваем телефон.
Для этого перейдите в: "Настройки" - "О телефоне" - 7 раз нажмите на номер сборки. В настройках для разработчиков активируйте отладку по USB.
При подключении USB-кабеля выбираем "Передача файлов".
Проверяем соединение на компьютере.
Перейдите в, раннее распакованную, папку с утилитами. В ней, в адресной строке папки, сверху, напишите - "cmd" (без кавычек) и нажмите Enter.
Проверьте доступность устройства и правильность установки драйверов. Для этого выполните adb или fastboot команду:
Если все хорошо, драйвера успешно установлены и телефон правильно подключен - вы увидите следующий ответ:
<серийный номер устройства> device
или
<серийный номер устройства> fastboot
Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.
Так как adb/fastboot - консольные утилиты, работать с ними надо из командной строки.Перейдите в, раннее распакованную, папку с утилитами. В ней, в адресной строке папки, сверху, напишите - "cmd" (без кавычек) и нажмите Enter.
Далее работаем посредством нужных вам команд.
Скрытые команды ADB
adb -d Команда посылается только на устройство подключенное через USB.
Внимание: Выдаст ошибку, если подключено больше одного устройства.
adb -e Команда посылается на устройство в эмуляторе.
Внимание: Выдаст ошибку, если подключено больше одного эмулятора.
adb -s <серийный_номер_устройства> Команда посылается на устройство с указанным серийным номером:
adb push <путь на PC> <путь на андроид> Копировать файл/папку PC->девайс.
adb shell Запуск упрощенного unix shell.
Примеры использования
adb emu <команда> Послать команду в консоль эмулятора
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.
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 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.
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot flash radio radio.img
fastboot reboot @echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot flash userdata data.img
fastboot flash system system.img
fastboot flash boot boot.img
fastboot reboot Качаем бутанимацию. Переименовываем файл в bootanimation.zip и кладем его в папку ADB.
@echo off
adb remount
adb push bootanimation.zip /data/local @echo off
adb devices
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot oem writecid 11111111
fastboot reboot-bootloader
fastboot getvar cid
fastboot reboot Распаковываем образ рекавери. Переименовываем файл в recovery.img и кладем его в папку с ADB.
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot flash recovery recovery.img
fastboot reboot Переименовываем кусок прошивки отвечающий за загрузку в boot.img и кладем его в папку ADB.
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot flash boot boot.img
fastboot reboot
Если 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.
Контроль формата вывода лога
Просмотр альтернативного буфера лога
Просмотр stdout и stderr
ADB (Android Debug Bridge - Отладочный мост Android) - консольное приложение для PC, с помощью которого производится отладка Android устройств. Работает по принципу клиент-сервер.
Поставляется "adb.exe" в составе инструментария разработчика Android (Android SDK), который, в свою очередь входит в состав "Android Studio". Для того, чтобы не устанавливать громоздкий SDK в нижеприведенной инструкции предлагается минимальный комплект ( спасибо уважаемому @psihop ) для работы с устройством по ADB.
При первом запуске "adb.exe" с любой командой создается сервер в виде системной службы (демона), которая будет прослушивать все команды, посылаемые на порт 5037.
Основные возможности:
- Вывод списка подключенных к ПК устройств, работающих по протоколу ADB.
- Просмотр логов работы Android ОС.
- Копирование файлов с/на аппарат.
- Установка/удаление приложений.
- Создание и восстановление пользовательских данных.
- Выполнение unix-команд на устройстве. Запуск скриптов.
- Прошивка устройства.
- Управление сетевыми параметрами.
- .
Установка и настройка ADB на ПК:
Установка и настройка ADB на аппарате:
- Включить меню разработчика .
- Включить отладку по USB .
- Система Windows автоматически установит драйверы на новое устройство.
Список команд ADB (Полный список команд можно получить, изучив исходники ):
Примеры работы по ADB:
Ниже перечисленные примеры можно вводить в командную строку. Для удобства их можно вписать в файл-сценария .cmd или .bat.
Удаление папки со всеми вложенными каталогами и файлами. Например всей музыки.
Информация о разделах внутренней памяти аппарата.
Информация о точках монтирования, общем и свободном пространстве на разделах.
Информация о разделении ROM-памяти на разделы.
Резервная копия определенного раздела.
Монтирование разделов /system и /data в режиме mod-recovery.
FastBoot - консольное приложение для ПК. Используется как правило для прошивки и аварийного восстановления работоспособности аппарата.
ADB (Android Debug Bridge) – консольная клиент-серверная программа, выполняет роль универсального интерфейса для управления Android-устройствами (или их эмуляторами).
Через ADB программы на компьютере можно взаимодействовать с телефоном или планшетом, например для синхронизации контактов, бэкапов данных или удаленного доступа к устройству.
Однако главное назначение ADB – это отладка приложений и сервисов при их разработке и тестировании. В этом случае взаимодействие с устройством осуществляется через консоль.
- просмотр подключенных устройств;
- просмотр логов;
- копирование файлов;
- установка и удаление приложений;
- скриншоты (и запись видео) экрана устройства;
- удаление и перепрошивка раздела data;
- запуск различных скриптов;
- управление сетевыми параметрами.
В состав ADB входит три компонента:
- клиент, который запускается на компьютере и отправляет команды. Его можно вызвать его из командной строки, введя команду adb;
- демон, который запускается как фоновый процесс на Android-устройстве и выполняет команды клиента;
- сервер, который работает в фоне на компьютере и управляет клиентом и демоном.
Как работает ADB:
- при запуске adb-клиент проверяет наличие запущенного процесса adb-сервера, и если нет – запускает его на компьютере;
- сервер устанавливает соединение на порту 5037 и слушает на нем команды от adb- клиентов;
- затем сервер устанавливает соединения со всеми работающими устройствами, сканируя нечетные порты в диапазоне от 5555 до 5585. Для каждого устройства используется пара последовательных портов – порт с четным номером для соединений консоли, порт с нечетным номером – для соединений adb;
- после того как сервер настроил соединения с устройствами, можно использовать команды adb для доступа к ним.
Подготовка к использованию
Прежде чем начать отладку на устройстве, необходимо выполнить несколько действий:
- установить ADB на компьютере (драйвер для вашего Android-устройства, а так же пакет Android SDK Platform Tools);
- на Android-устройстве включить отладку по USB, а затем подключить его к компьютеру кабелем (или настроить отладку по Wi-Fi).
Установка ADB
На устройствах под управлением Windows, установите драйвер для вашего Android-устройства.
Если драйвера для вашего устройства не нашлось на указанных страницах, попробуйте поискать его на сайте производителя.
Для MacOS и Linux установка драйверов не требуется.
Далее потребуется установить Android SDK Platform Tools. Если вы используете Android Studio , скорее всего SDK Platform Tools у вас уже установлен.
Установка ADB в Windows
Скачайте SDK Platform Tools и распакуйте папку platform-tools на диск (рекомендуется в С:\platform-tools).
В системную переменную Path добавьте путь к распакованной папке, для этого:
- перейдите в Панель управления – Система и безопасность – Система;
- выберите пункт Дополнительные параметры системы;
- нажмите кнопку Переменные среды;
- в поле Системные переменные выберите значение Path и нажмите кнопку Изменить, чтобы добавить новое значение;
- укажите путь к папке platform-tools содержащую adb;
- перезагрузите компьютер.
Установка ADB в Linux
Чтобы установить SDK Platform Tools в Ubuntu выполните следующую команду.
Либо вручную скачать SDK Platform Tools , распаковать на диск и добавить путь к распакованной папке с platform-tools в переменную среды $PATH.
Установка ADB в MacOS
Самый простой способ установить SDK Platform Tools на MacOS, используя Homebrew.
Либо установить вручную.
Сперва удалите предыдущую версию android-platform-tools, если такая имеется.
Перейдите в папку с загрузками, распакуйте скачанный архив и переместите файлы программы в удобное для вас место, например в домашнюю директорию.
Добавить путь к platform-tools в переменную среды $PATH.
Обновите bash профиль или перезапустите терминал.
Проверка ADB
Зайдите в консоль и введите следующую команду:
Если все сделали верно, в ответ в консоль будет выведена информация о версии ADB.
Как включить отладку по USB на Android
Отладка по USB включается в настройках системы в разделе Параметры разработчика.
В настройках должен появиться пункт меню Параметры разработчика, найдите в нем пункт Отладка USB и активируйте его.
На некоторых устройствах раздел с параметрами разработчика может располагаться в других разделах настроек или иметь другое название.
Отладка Android по Wi-Fi
Для начала разрешите на Android устройстве отладку по USB, как описано в предыдущем разделе.
Устройство и компьютер должны быть в одной Wi-Fi сети. Убедитесь, что ваш брандмауэр или антивирусное не блокирует adb соединения.
Подключите устройство к компьютеру с помощью USB кабеля.
Разрешите устройству принимать соединения TCP/IP через порт 5555. Для этого выполните в командной строке следующую команду.
Параметр -d отправит команду только на устройство подключенное через USB.
Если подключенных устройств несколько, возможно придется дополнительно указать серийный номер устройства.
Узнать серийный номер и получить информацию о подключенных устройствах можно следующей командой.
После того, как разрешите устройству принимать соединения TCP/IP через порт 5555, отсоедините кабель USB от компьютера.
Далее понадобится узнать ip-адрес вашего Android-устройства.
Подключитесь к устройству по его ip-адресу.
Убедитесь, что устройство появилось в списке.
Теперь можно выполнять отладку по Wi-Fi, без использования кабеля.
Если соединение ADB потеряно. Убедитесь, что устройство и компьютер все еще подключены к одной Wi-Fi сети. Переподключитесь, выполнив adb connect снова. Или, если не поможет, перезагрузите хост adb:
Затем повторите попытку.
После проделанных шагов вы сможете подключаться к устройству без использования USB-кабеля.
Команды ADB
Перед выполнением команд adb полезно знать, какие экземпляры устройств подключены к серверу adb. Список подключенных устройств можно посмотреть следующей командой.
В ответ adb выведет серийный номер, состояние и описание (параметр -l) подключенных устройств.
Если запущен только один эмулятор или подключено только одно устройство, команда adb отправится на это устройство по умолчанию. Если же запущено несколько эмуляторов и / или устройств, необходимо использовать параметры -d, -e или -s, чтобы указать устройство, на которое должна быть направлена команда.
Нижеприведенная команда отправится на устройство с указанным серийным номером.
Команда отправится только на устройство подключенное через USB. Выдаст ошибку, если подключено больше одного устройства.
Команда отправится на устройство в эмуляторе. Выдаст ошибку, если подключено больше одного эмулятора.
Подсоединиться к андроид хосту по протоколу TCP/IP (по умолчанию порт 5555, если не указан другой).
Отсоединиться от андроид подключенного через TCP/IP (по умолчанию порт 5555). Если не задан ни один параметр, отключиться от всех активных соединений.
Перезапуск демона с правами root.
В некоторых случаях может потребоваться остановить сервер adb, и перезапустить его, чтобы решить проблему (например, если adb не отвечает на команды).
Копировать файл или папку на устройство.
Копировать файл или папку с устройства на компьютер.
Копировать с компьютера на устройство только новые файлы. С ключом -l не копировать, только создать список.
Установить приложение на устройство.
Ключи:
-l блокировка приложения;
-r переустановить приложение, с сохранением данных;
-s установить приложение на карту памяти.
Чтобы удалить приложение с устройства используйте следующую команду.
Ключ -k означает, не удалять сохраненные данные приложения и пользователя.
Сделать скриншот экрана устройства.
Полученный скриншот можно сразу забрать на компьютер.
Для записи видео с экрана устройства используйте команду screenrecord.
или с параметрами
Чтобы остановить запись используйте комбинацию клавиш Control + C (Command + C на Mac). По умолчанию максимальный лимит для видео составляет 3 минуты.
ADB LogCat
или через shell
Для остановки сбора логов нажмите Ctrl+C на клавиатуре (Command + C на Mac).
Чтобы вывести лог на экран и выйти из logcat используйте параметр -d.
В записях лога в Android указан приоритет:
В дополнение к тэгу и приоритету в логе так же содержатся поля с метаданными. Формат можно изменять с помощью параметра -v, за которым следует один из нижеперечисленных форматов вывода:
Список параметров команды logcat:
ADB Shell
Android полноценная система Unix со своим Shell, к которому можно подключаться по adb.
Команда подключит ваш терминал к shell устройства и вы сможете взаимодействовать с ним используя Unix команды, cat, ls, df и другие, а также запускать скрипты.
Чтобы выполнить одну команду, не переходя в shell используйте команду оболочки следующим образом.
Команда выше выдаст информацию о количестве свободной памяти на устройстве.
Следующая команда откроет на устройстве экран с настройками.
А две последующие через ADB включают и отключают соответственно прокси в настройках сети.
Данные команды могут быть полезными, когда к настройкам устройства нет явного доступа, например на устройствах с голосовыми интерфейсами. Я часто пользуюсь ими при отладке Яндекс.Станции.
Полезные ссылки
На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.
Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.
ADB - Это Android Debug Bridge, что переводиться как "отладочный андроид мост". Служит он, как уже ясно из названия, для отладки андроида или отдельных приложений. С его помощью можно делать все действия, которые может делать пользователь и даже больше, однако для "больше" нужен ROOT доступ.
Чаще всего, ADB используется для прошивки или изменения каких то настроек, скрытых файлов и тд. Так-же можно просматривать логи прямо в реал-тайме (для этого есть спец. программы, которые куда удобнее командной строки), устанавливать программы, менять настройки и все в таком духе.
Я например использую подключение для тестирования своих андроид проектов. Нажимаешь кнопку "Build and run" и программа или игра собирается в пакет, отправляется на телефон и устанавливается, после чего еще и запускается. Удобно. Именно о таком способе использования и пойдет речь сегодня.
Как включить ADB?
Для того что-бы включить ADB на вашем устройстве на базе андроида, необходимо выполнить несложный ряд действий.
Конечно, для работы нужна сама программа ADB для пк. Точнее это архив с несколькими утилитами. Вот ссылка на официальную страницу от Google. ссылка. На странице есть ссылка на архив для windows, mac, linux. Жмем "Download SDK Platform-Tools for Windows" или другую платформу. Распаковываем архив в C:/adb для удобства.
Как пользоваться?
Пользоваться можно через командную строку или UI интерфейс. Через командную строку делается это так:
- Пуск -> выполнить или WIN+R
- Пишем команду "CMD"
- Переходим в папку с ADB с помощью команды "CD C:/adb"
Далее пишем команды которые необходимы. Например, проверим, подключился ли телефон по мосту.
Пишем "adb devices". В консоли пробегут строчки о запуске сервера и выдастся список подключенных девайсов
Последняя строчка означает, что телефон подключен. Отлично!
Теперь можно вводить любые доступные команды, список которых можно посмотреть тут.
Консольки, это конечно хорошо, но давайте разберем конкретный пример.
Предположим, вы разрабатываете игру на Unity. Вам необходимо ее проверить на телефоне. Что для этого нужно? Просто подключите телефон к пк, а в Unity в окне Build выберете устройство из списка. Далее жмем кнопку "Build and run" и ждем. Готово.
Как использовать ADB по WIFI?
Да, да, вам не показалось, полный контроль можно получить и без проводов и да, это опасно. Однако, подключиться к телефону можно только если разрешить это делать.
- Во-первых нужно в меню разработчика включить эту функцию (есть не на всех устройствах).
- Во-вторых она выключается при перезагрузке.
- И в-третьих при первом подключении с неизвестного устройства вылезет запрос на подтверждение, можно ли подключиться.
Однако, не все так просто. Что-бы все заработало, кабель все же понадобиться.
- Подключаем девайс по USB
- Открываем консоль и переходим в папку ADB, как уже делали выше.
- Убеждаемся что девайс и комп в одной Wi-Fi сети.
- Пишем adb tcpip 5555
- Пишем adb connect IP_ДЕВАЙСА. Адрес можно подсмотреть в настройках wifi вашей сети.
Обычно после этого достаточно выполнять только пункт 5. После этого ADB должен работать без проводов. Пользоваться им точно так же как и по проводу.
Читайте также: