Каждый юный пользователь Android рано или поздно сталкивался с таким понятием как adb. На самом деле, с этим понятием вы сталкиваетесь постоянно, когда подключаете свое ведро к компьютеру по кабелю или просматривая параметры в «Режиме разработчика». Просто вы еще нихуя не понимаете, поэтому и не видите. Это нормально, йпта.
Но что означает adb или Android Debug Bridge? Что это такое и нахуй оно всралось? Если вкратце, то эта херь нужна для управления Android смартфоном. А если тебе нужна более развернутая информация, то завари себе нескафе 3 в 1 и садись поудобнее, сейчас поясню.
Adb используется для:
- Отслеживания подключенных андроид устройств и эмуляторов
- Управления андроид устройствами. С помощью этой утилиты можно накидать в телефон всякого говна или наоборот, удалить.
Содержание
Что такое Adb
Adb – это утилита для командной строки, которая помогает управлять устройством. Специально для ебланов поясняю что такое командной строки. Это когда команды вводяться в большом черном квадрате, называемым терминалом. Никакого другого интерфейса для взаимодействия нету. В винде можно посмотреть, если нажать Win+R -> Вписать cmd, нажать интор.
Утилита адб упрощает различные телодвижения с телефоном. Такие вещи как установка программ, удаление, остановка не удаляемых программ и другие ништячки на телефоне. Звучит круто? А на деле так вообще пиздец.
Как adb работает?
Короче, когда ты запускаешь adb клиент, он сразу проверяет, запущен ли adb сервер. Если он не запущен, то сразу запускается сервер и привязывается к локальному порту 5037. После этого сервер слушает все команды, которые присылаются из адб клиентов. Все клиенты также используют TCP порт 5037. Зачем тебе это нужно знать? Да хуй его знает. Пускай будет.
После этого сервер устанавливает соединение со всеми запущенными устройствами. Эмуляторы он находит, сканируя все нечетные порты в диапазоне от 5555 до 5585. Если на сервер находит адб демона (adbd), то устанавливает соединение с этим портом. Если ты не знаешь, что такое демон, то это такая же программа, которая висит в телефоне или где угодно. Самая простая аналогия — это процесс в системе, но все немножко более хитрожопо. Для объяснения на пальцах сойдет. Юный падаван может спросить, почему нечетные порты? Потому что эмулятор связывается 2 портами. Нечетным для адб соеденений, а четным для консоли.
После того, как сервер установит соединение, то можно начинать творить всякие непотребства. Знать всю эту хуйню для работы с реальным устройством вообще-то не обязательно. Для реального устройства надо сначала врубить «Режим разработчика», а в нем уже включить USB дебаггинг. И когда вы подключите первый раз устройства по кабелю, на телефоне появится окошко с запросом на доступ. Подтверждаем и все. Если вы уже скачали сам набор утилит и знаете, как запустить адб, то можно проверить подключение, если вписать в командной строке
adb devices –l
А если нет, то в конце статьи я дам ссылку на скачивание. Если не забуду, конечно.
Адб компоненты
adb состоит из четырех основных компонентов.
- Клиент. Та хуйня, с помощью которой ты посылаешь команды на телефон. Когда ты вводишь adb <команда>, то это оно и есть
- Демон. Adbd работает на устройстве как фоновый процесс. Он принимает и запускает команды, которые посылает клиент.
- Сервер. Управляет соединением между клиентом и демоном. Он так же работает в фоновом режиме, но на машине разработчика.
- Сервис. Хуй его знает.
Я не буду погружаться более глубоко как работают те или иные компоненты. Какие протоколы используются или как происходит передача команд, потому что посмотри в окно, 2020 год на дворе. Это никому не надо. Ни одному разработчику это не нужно, и ознакомиться можно только если тебе вот совсем нехуй делать. А значит, что это можно опустить.
Установка адб
Установка происходит быстро и безболезненно. Похуй на какой системе. Я для этого даже статью родил, как оказывается. Читать ее можно здесь: «Как установить adb»
Читай, просвещайся.
Часто задаваемые вопросы про утилиту adb.
Вопросов нет и слава богу.