Adb over ethernet что это такое

Обновлено: 04.07.2024

Читая статьи о перепрошивке и рутинге Android-устройств, вы наверняка встречали упоминание консольной команды adb в тексте. Этот инструмент очень популярен среди энтузиастов ОС Android и применяется почти во всех графических и консольных утилитах для рутинга, снятия защиты и других действий. Однако, далеко не каждый пользователь знаком с этим инструментом и не знает его полезнейших возможностей, таких как установка и удаление приложений, синхронизация папок между настольной машиной и смартфоном, снятие скриншотов, открытие доступа в интерет через смартфон и многих других.

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

ADB состоит из двух компонентов: сервера, который работает на смартфоне, и клиентской программы, которую пользователь запускает на большом брате. Сам клиент представляет собой небольшую консольную команду, которую следует запускать либо в окне DOS в Windows, либо в эмуляторе терминала в Linux. Вся работа с ADB сводится примерно к следующему: с помощью клиента пользователь отдает команду, а смартфон ее выполняет.

Перед тем как начать использовать ADB следует обзавестись клиентом. По умолчанию он распространяется в составе Android SDK, однако если вы не хотите устанавливать SDK, клиент можно получить и отдельно. Архив с клиентами для Windows, Mac и Linux можно получить, например, здесь. Просто распакуйте этот архив на диск C: в Windows или в домашний каталог в Linux. Если вы работаете в Windows не забудьте установить все необходимые драйверы (обычно они устанавливаются автоматически при первом подключении смартфона/планшета с помощью USB-кабеля).

Теперь подключите устройство к USB и включите на нем режим отладки (Настройки - Для разработчиков - Отладка по USB). Откройте консоль (Пуск - Выполнить - сmd - Enter в Windows), перейдите и наберите следующие команды для проверки успешности соединения ADB-клиента с сервером:

Если все в порядке на экран должно быть выведено что-то вроде таких строк:

Сразу рекомендую переименовать файл adb-windows.exe в adb.exe для удобства (в дальнейшем я буду использовать именно такой вариант названия, тем более что в SDK он такой).

Установка и удаление приложений

С помощью ADB достаточно удобно устанавливать и удалять приложения со смартфона/планшета. Для этого предусмотрены команды “adb install” и “adb uninstall”. Так, например, чтобы установить пакет на смартфон, выполните такую команду в той же консоли:

Чтобы установить приложение на карту памяти добавьте ключ -s:

Для удаления приложения используйте такую команду:

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

И уже из него выбрать необходимое.

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

А чтобы получить папку с фотографиями с карты памяти - такую:

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

adb sync c:/music /sdcard/Music

Еще одна очень интересная функция ADB это возможность проброса сетевых портов или, говоря на человеческом языке, возможность сделать так, чтобы выход в интернет происходил через смартфон. Да, для этого есть функция WiFi hotspot и различные приложения вроде PDANet, однако метод с использованием ADB поможет в случае экстренной ситуации, когда под рукой кроме смартфона и ADB нет ничего.

Чтобы воспользоваться этой функцией запустите ADB в режиме проброса портов:

Затем установите на смартфон и запустите приложение Proxoid и настройте браузер настольной машины на использование прокси по адресу “localhost:8080”.

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

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

Что еще можно сделать с помощью ADB? Например, получить доступ к консоли Android:

Имеет смысл использовать только в том случае, если вы знаете что это такое.

С помощью ADB также можно принудительно перезагрузить устройство:

Чтобы перезагрузиться в консоль восстановления используйте такую команду:

Сервер ADB может работать и в сетевом режиме, когда вместо USB-кабеля для доступа к устройству используется локальная WiFi-сеть. В целях безопасности в стандартных прошивках сетевой режим отключен, но в таких прошивках как CyanogenMod, AOKP и других его можно активировать через настройки. А если получить root то и в любой прошивке с помощью бесплатного приложения WiFi ADB. Просто установите его, нажмите кнопку “Turn On” и наберите в консоли Windows строку, которая появится на экране, например:

Далее можно использовать все стандартные команды ADB

ADB очень мощный инструмент, а если в придачу к нему вы изучите консоль Android, то сможете делать со своим смартфоном все, что угодно. Кстати, чтобы не вбивать все указанные в статье команды в консоли, можно создать несколько скриптов (текстовых файлов с расширением .bat) и добавить в них нужные команды. Тогда для запуска команд придется просто кликнуть по скрипту.

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?

Да, да, вам не показалось, полный контроль можно получить и без проводов и да, это опасно. Однако, подключиться к телефону можно только если разрешить это делать.

  • Во-первых нужно в меню разработчика включить эту функцию (есть не на всех устройствах).
  • Во-вторых она выключается при перезагрузке.
  • И в-третьих при первом подключении с неизвестного устройства вылезет запрос на подтверждение, можно ли подключиться.

Однако, не все так просто. Что-бы все заработало, кабель все же понадобиться.

  1. Подключаем девайс по USB
  2. Открываем консоль и переходим в папку ADB, как уже делали выше.
  3. Убеждаемся что девайс и комп в одной Wi-Fi сети.
  4. Пишем adb tcpip 5555
  5. Пишем adb connect IP_ДЕВАЙСА. Адрес можно подсмотреть в настройках wifi вашей сети.

Обычно после этого достаточно выполнять только пункт 5. После этого ADB должен работать без проводов. Пользоваться им точно так же как и по проводу.

Android Debug Bridge (adb) – универсальный инструмент командной строки, который позволит Вам взаимодействовать с экземпляром эмулятора или подключёнными Android-устройствами. Это клиент-серверная программа, состоящая их трех компонентов:

  • Клиент, который работает на Вашем хосте разработки (компьютере разработчика). Вы можете вызвать клиента из командной строки, используя команду adb. Другие инструменты Android, такие как DDMS и плагин ADT, также создают клиентов adb.
  • Сервер, который запущен как фоновый процесс на хосте разработки. Сервер управляет обменом данными между клиентом и adb-демоном, работающем на эмуляторе или устройстве.
  • Демон, который запущен как фоновый процесс на каждом экземпляре эмулятора или устройства.

Утилиту adb Вы можете найти в <sdk>/platform-tools/.

При запуске adb-клиента, клиент сначала проверяет, запущен ли процесс сервера adb. Если нет, то он запускает процесс сервера. Когда стартует сервер, он запускает прослушивание локального порта TCP 5037 и считывает с него поступающие команды от adb-клиентов — все клиенты adb используют порт 5037 для обмена данными с сервером adb.

Затем сервер устанавливает соединения со всеми запущенными экземплярами эмуляторов/устройств. Он находит эмуляторы и устройства путем сканирования нечетных портов в диапазоне 5555…5585, диапазон, используемый эмуляторами/устройствами. Когда сервер находит демона adb, он устанавливает с ним соединение по этому порту. Имейте в виду, что каждый экземпляр эмулятора/устройства занимает пару последовательных портов — четный номер порта для подключения консоли и нечетный номер порта для adb-соединений. Например:

Как здесь показано, экземпляр эмулятора, подключенного к adb через порт 5555 тот же самый, что прослушивает порт консоли 5554.

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

Включение отладки ADB

Для использования adb с устройством, подключённым по USB, Вам необходимо включить отладку по USB в настройках системы устройства, в разделе «Для разработчиков».

На Android 4.2 и выше окно «Для разработчиков» скрыто по умолчанию. Для того, чтобы сделать его видимым, перейдите в Настройки -> Об устройстве и нажмите на номер версии семь раз. Вернитесь к предыдущему экрану, чтобы найти «Для разработчиков» внизу.

На некоторых устройствах окно «Для разработчиков» может быть расположено или называться иначе.

Примечание: когда Вы подключаете устройство, которое работает на Android 4.2.2 и выше, к Вашему компьютеру, система покажет диалог, запрашивающий подтвердить ключ RSA, который позволит отлаживать Android-программы через этот компьютер. Этот механизм безопасности защищает устройство пользователя, потому что он гарантирует, что отладка через USB и другие команды adb не могут быть выполнены, пока Вы явно не разблокируете устройство, выбрав подтверждение в этом диалоге. Для поддержки этой возможности требуется adb версии 1.0.31 (доступно в SDK Platform-tools r16.0.1 и выше) для отладки на устройстве, работающем на Android 4.2.2 и выше.

Дополнительные сведения о подключении к устройству через USB см. в Using hardware device.

Подключение к приставке с помощью ADB на ПК Windows

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

  • Открыть командную строку на ПК (путём нажатия Windows + R)
  • Запустить команду cmd
  • Перетащить adb.exe в консоль и нажмите Enter
  • Подключить adb-хост к устройству:

Если adb-соединение постоянно теряется:

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

Синтаксис

Вы можете вызвать команды adb из командной строки хоста разработки или из скрипта. Общий вид команды adb следующий:

Если на хосте разработки работает только один эмулятор или подключено только одно устройство, то команда adb подключится к нему по умолчанию. Если работает несколько эмуляторов или подключено несколько устройств, то нужно указывать опции -d, -e или -s, чтобы указать целевое устройство для подключения - кому предназначена команда.

Команды

В таблице ниже перечислены все поддерживаемые команды adb, а также объясняется их назначение и использование.

Категория

Команда

Описание

Комментарии

Target device (целевое устройство)

Направляет команду adb на любое подключенное (не эмулятор) через USB устройство.

Возвращает ошибку, если подключено больше одного USB устройства.

Target device (целевое устройство)

Направляет команду adb на любой запущенный экземпляр эмулятора.

Возвращает ошибку, если запущено больше одного экземпляра эмулятора.

Target device (целевое устройство)

Направляет команду adb на специально указанный экземпляр эмулятора/устройства по его серийному номеру

General (общие команды)

Выводит список всех подключенных экземпляров эмуляторов/устройств.

General (общие команды)

Выводит список всех поддерживаемых команд adb.

General (общие команды)

Выводит номер версии adb.

logcat [option] [filter-specs]

Выводит данные лога на экран.

Выводит список доступных процессов JDWP на указанном устройстве.

Вы можете использовать спецификацию перенаправления портов forward jdwp: < pid > для подключения к определенному процессу JDWP

Data (работа с файлами)

Проталкивает приложение Android (нужно указать полный путь к файлу .apk на хосте отладки) на эмулятор/устройство.

Data (работа с файлами)

Копирует указанный файл с эмулятора/устройства на хост отладки.

Data (работа с файлами)

Копирует указанный файл с хоста отладки на эмулятор/устройство.

Ports and Networking (порты и сетевые содеинения)

Перенаправляет соединения сокета с указанного локального порта (local) в указанный удаленный порт (remote) на экземпляре эмулятора/устройства.

Спецификация порта может использовать следующие схемы:
tcp:<portnum>
local:<UNIX domain socket name>
dev:<character device name>
jdwp:<pid>

Ports and Networking (порты и сетевые содеинения)

Запускает PPP поверх USB, <tty> — tty для PPP потока

Примечание: Обратите внимание, что Вы не должны автоматически запускать PPP-соединение

Выводит строку серийного номера экземпляра adb.

Выводит состояние adb на экземпляре эмулятора/устройства.

Блокирует выполнение, пока устройство не будет готовым (не перейдет в online) - т. е., пока состояние не станет device.

Server (управление сервером)

Проверяет, запущен ли процесс сервера adb и запускает его, если процесс сервера не запущен.

Server (управление сервером)

Прерывает работу процесса сервера adb

Shell (командная строка)

Запускает remote shell (доступ к командной строке) на экземпляре эмулятора/устройства.

Shell (командная строка)

Выдает команду шелла на экземпляре эмулятора/устройства, и сразу производит выход из шелла.

Более детальную информацию Вы можете найти на официальном веб-сайте Android Debug bridge

Каждый юный пользователь Android рано или поздно сталкивался с таким понятием как adb. На самом деле, с этим понятием вы сталкиваетесь постоянно, когда подключаете свое ведро к компьютеру по кабелю или просматривая параметры в «Режиме разработчика». Просто вы еще нихуя не понимаете, поэтому и не видите. Это нормально, йпта.

Но что означает adb или Android Debug Bridge? Что это такое и нахуй оно всралось? Если вкратце, то эта херь нужна для управления Android смартфоном. А если тебе нужна более развернутая информация, то завари себе нескафе 3 в 1 и садись поудобнее, сейчас поясню.

Adb используется для:

  • Отслеживания подключенных андроид устройств и эмуляторов
  • Управления андроид устройствами. С помощью этой утилиты можно накидать в телефон всякого говна или наоборот, удалить.

Содержание

Что такое Adb

Adb – это утилита для командной строки, которая помогает управлять устройством. Специально для ебланов поясняю что такое командной строки. Это когда команды вводяться в большом черном квадрате, называемым терминалом. Никакого другого интерфейса для взаимодействия нету. В винде можно посмотреть, если нажать Win+R -> Вписать cmd, нажать интор.

Утилита адб упрощает различные телодвижения с телефоном. Такие вещи как установка программ, удаление, остановка не удаляемых программ и другие ништячки на телефоне. Звучит круто? А на деле так вообще пиздец.

Как adb работает?

Короче, когда ты запускаешь adb клиент, он сразу проверяет, запущен ли adb сервер. Если он не запущен, то сразу запускается сервер и привязывается к локальному порту 5037. После этого сервер слушает все команды, которые присылаются из адб клиентов. Все клиенты также используют TCP порт 5037. Зачем тебе это нужно знать? Да хуй его знает. Пускай будет.

После того, как сервер установит соединение, то можно начинать творить всякие непотребства. Знать всю эту хуйню для работы с реальным устройством вообще-то не обязательно. Для реального устройства надо сначала врубить «Режим разработчика», а в нем уже включить USB дебаггинг. И когда вы подключите первый раз устройства по кабелю, на телефоне появится окошко с запросом на доступ. Подтверждаем и все. Если вы уже скачали сам набор утилит и знаете, как запустить адб, то можно проверить подключение, если вписать в командной строке


А если нет, то в конце статьи я дам ссылку на скачивание. Если не забуду, конечно.

Адб компоненты

adb состоит из четырех основных компонентов.

  • Клиент. Та хуйня, с помощью которой ты посылаешь команды на телефон. Когда ты вводишь adb <команда>, то это оно и есть
  • Демон. Adbd работает на устройстве как фоновый процесс. Он принимает и запускает команды, которые посылает клиент.
  • Сервер. Управляет соединением между клиентом и демоном. Он так же работает в фоновом режиме, но на машине разработчика.
  • Сервис. Хуй его знает.

Я не буду погружаться более глубоко как работают те или иные компоненты. Какие протоколы используются или как происходит передача команд, потому что посмотри в окно, 2020 год на дворе. Это никому не надо. Ни одному разработчику это не нужно, и ознакомиться можно только если тебе вот совсем нехуй делать. А значит, что это можно опустить.

Установка адб

Установка происходит быстро и безболезненно. Похуй на какой системе. Я для этого даже статью родил, как оказывается. Читать ее можно здесь: «Как установить adb»

Читайте также: