ADB: основи на работа с Android Debug Bridge и популярни команди

Автор: IT Sectr Публикувано: 2026-02-12 Време за четене: 10 мин

ADB (Android Debug Bridge) — е многофункционална конзолна помощна програма, която е част от Android SDK. Тя позволява на компютъра директно да взаимодейства с Android устройство чрез USB кабел или чрез Wi-Fi. С помощта на ADB можете да инсталирате и деинсталирате приложения, да копирате файлове, да изпълнявате shell команди, да преглеждате системни регистрационни файлове, да правите екранни снимки и запис на екрана, да управлявате настройки и дори да изпълнявате автоматизирани тестове. Инструментът е незаменим за разработчици, тестери и ентусиасти, които искат да получат пълен контрол над устройството.

Основни точки

  • ADB — конзолен инструмент за отстраняване на грешки в Android, част от платформените инструменти на SDK
  • Свързване — работа чрез USB и чрез Wi-Fi (adb tcpip / adb connect)
  • Основни команди — adb devices, adb shell, adb install, adb uninstall, adb pull / push
  • Работа с регистрационни файлове — adb logcat с филтриране по тагове и нива на важност
  • Екранни снимки и запис — adb shell screencap и adb shell screenrecord
  • Няколко устройства — adb -s за избор на конкретно устройство
  • Автоматизация — adb shell input за емулиране на докосвания, плъзгания и въвеждане на текст

Какво е ADB и за какво служи

Android Debug Bridge (ADB) — е клиент-сървърно приложение, което се състои от три компонента: клиент (стартира на компютъра), сървър (фонов процес на компютъра) и демон adbd (изпълнява се на самото Android устройство). Когато разработчик или инженер свърже смартфон към компютър, ADB създава надежден комуникационен канал, през който могат да се предават команди, файлове и данни.

Основните сценарии за използване на ADB включват отстраняване на грешки в приложения на реално устройство без необходимост от публикуване на APK в магазина, извличане на регистрационни файлове за анализ на грешки, автоматизация на тестване, архивиране на данни, флашване на recovery образи и получаване на root достъп. Дори и да не пишете код, ADB може да бъде полезен за извличане на екранни снимки от приложения, записване на видео ръководство от екрана на телефона или възстановяване на устройството след неуспешно флашване.

Поддръжката на ADB е вградена във всички официални компилации на Android, започвайки от версия 2.1 (API 7). За работа е необходима включена опция „Отстраняване на грешки чрез USB" в настройките за разработчици. Започвайки от Android 4.2, при първото свързване устройството изисква потвърждение: трябва да разрешите отстраняване на грешки за конкретния компютър въз основа на неговия RSA ключ.

Инсталиране на ADB на компютър

За Windows — изтеглете Platform Tools от официалния уебсайт на Google Developers, разархивирайте архива в папка C:\adb и добавете този път към променливата на средата PATH. След рестартиране на терминала командата adb ще бъде глобално достъпна.

За macOS — най-лесният начин е да инсталирате ADB чрез мениджъра на пакети Homebrew: изпълнете brew install android-platform-tools. Всички зависимости ще бъдат разрешени автоматично.

За Linux — в дистрибуции, базирани на Debian / Ubuntu: sudo apt install adb. След инсталиране добавете потребителя към групата plugdev: sudo usermod -aG plugdev $USER и влезте отново, за да получи ADB достъп до USB устройства.

Коректността на инсталирането може да се провери с командата adb version. Ако в отговора се покаже номерът на версията на Android Debug Bridge, инструментът е готов за работа.

Свързване на устройство и основни команди

Първото свързване винаги започва с командата adb devices. Тя показва списък на свързаните устройства и техния статус. Ако устройството се показва като unauthorized, отключете екрана и потвърдете отстраняването на грешки на телефона.

adb devices
List of devices attached
emulator-5554   device
0123456789ABCD  device

Инсталиране на приложение — една от най-честите операции. Достатъчно е да посочите пътя до APK файла:

adb install C:\apps\myapp.apk

Ако приложението вече е инсталирано, но трябва да бъде заменено с актуализирана версия, добавете флага -r (replace):

adb install -r C:\apps\myapp-v2.apk

Деинсталиране на приложение се извършва по име на пакет:

adb uninstall com.example.myapp

Копиране на файлове — adb pull извлича файл от устройството на компютъра, adb push качва файл на устройството:

adb pull /sdcard/DCIM/screenshot.png .
adb push myfile.txt /sdcard/Documents/

Интерактивен shell — командата adb shell отваря командна обвивка на устройството. Вътре в нея могат да се изпълняват стандартни Linux команди: ls, ps, top, dumpsys, pm, am и други.

adb shell
tissot_sprout:/ $ ls -la /sdcard/
tissot_sprout:/ $ ps | grep com.android.chrome

Стартиране на активност чрез ADB ви позволява да отворите всяко приложение или екран без ръчно търсене на икона:

adb shell am start -n com.android.chrome/com.google.android.apps.chrome.Main

Работа с регистрационни файлове: Logcat

Logcat — е системата за регистриране на Android, която събира съобщения от приложения, системни услуги и ядрото. Инструментът е незаменим при отстраняване на грешки: от регистрационните файлове можете да разберете защо приложението се е сривнало, кой метод е предизвикал изключение или колко време отнема дадена операция.

Просто стартиране без филтри — adb logcat. Потокът от регистрационни файлове е безкраен, за спиране натиснете Ctrl+C. За да филтрирате съобщения по таг, използвайте параметъра -s:

adb logcat -s MainActivity:V

Нива на важност на регистриране (от най-подробно до критично): V (Verbose), D (Debug), I (Info), W (Warning), E (Error), F (Fatal). Комбинацията от таг и ниво ви позволява да извлечете само необходимите съобщения.

За изчистване на натрупания буфер преди тест:

adb logcat -c

А за запазване на регистрационните файлове във файл:

adb logcat -d > app_logs.txt

Флагът -d (dump) показва текущия буфер и приключва, без да блокира терминала. Това е удобно за скриптове за автоматизация.

Екранни снимки, запис на екрана и полезни диагностични команди

Екранна снимка се прави с командата adb shell screencap. Резултатът се запазва във файл, който след това се извлича чрез adb pull:

adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png

Можете да комбинирате двете операции в един ред чрез заместване и тръбопровод. На практика това ускорява създаването на документация и отчети за тестване.

Запис на екрана е достъпен на Android 4.4+ (API 19). Продължителността на записа по подразбиране е 180 секунди, битрейт — 4 Mbit/s. Основната команда:

adb shell screenrecord /sdcard/demo.mp4

За спиране на записа натиснете Ctrl+C. Разделителната способност на видеото съответства на разделителната способност на екрана на устройството, но не надвишава 1080p. За промяна на битрейта посочете --bit-rate:

adb shell screenrecord --bit-rate 8000000 /sdcard/demo.mp4

Диагностични команди: adb shell dumpsys показва състоянието на всички системни услуги. За да получите информация само за батерията:

adb shell dumpsys battery

Списък на инсталираните пакети можете да получите чрез Package Manager:

adb shell pm list packages

Нулиране на настройките на приложението (аналог на изчистване на данни в настройките):

adb shell pm clear com.example.myapp

Разширени възможности на ADB

Wi-Fi отстраняване на грешки премахва необходимостта от държане на устройството свързано чрез USB. Уверете се, че компютърът и устройството са в една и съща мрежа. Първо изпълнете adb tcpip 5555, изключете USB, след това се свържете чрез IP:

adb tcpip 5555
adb connect 192.168.1.100:5555

Ако IP адресът на устройството е неизвестен, разберете го чрез adb shell ip addr show wlan0 преди изключване на кабела.

Архивиране на данни на приложение или на цялата система се извършва без root:

adb backup -apk -shared -all -system -f mybackup.ab

Възстановяване от архив:

adb restore mybackup.ab

Емулация на въвеждане — командата adb shell input позволява симулиране на докосвания, плъзгания, натискане на клавиши и въвеждане на текст. Това е основата за автоматизация на UI тестове без допълнителни рамки:

adb shell input tap 500 1000
adb shell input swipe 300 500 800 500
adb shell input text "Hello, ADB!"

Рестартиране в различни режими:

adb reboot          # обикновено рестартиране
adb reboot recovery # режим на възстановяване
adb reboot bootloader # bootloader (fastboot)

Режимът fastboot отваря достъп до флашване на образи, отключване на bootloader и инсталиране на персонализирано recovery.

Работа с няколко устройства

Когато са свързани няколко устройства или емулатора едновременно, ADB изисква посочване на конкретен сериен номер. Командата adb devices показва всички свързани устройства с техните серийни номера.

За адресиране на команда към конкретно устройство използвайте флага -s:

adb -s 0123456789ABCD install myapp.apk

Ако устройството е едно, можете да работите без флаг. Въпреки това в CI среда, където няколко емулатора работят едновременно, посочването на сериен номер е задължително.

Убиване на ADB сървър — ако устройството спре да се открива или дава грешка, рестартирането на сървъра помага:

adb kill-server
adb start-server

След това изпълнете adb devices — сървърът ще се рестартира и ще пренасочи заявките към демоните на устройствата.

Основни команди на ADB: обобщена таблица

Команда Описание
adb devices Показване на списък със свързани устройства
adb install Инсталиране на APK файл на устройство
adb uninstall Деинсталиране на приложение по име на пакет
adb shell Стартиране на интерактивна командна обвивка
adb push Копиране на файл от компютър на устройство
adb pull Копиране на файл от устройство на компютър
adb logcat Преглед на регистрационни файлове на система и приложения
adb shell screencap Създаване на екранна снимка
adb shell screenrecord Записване на видео от екрана
adb reboot Рестартиране на устройство
adb tcpip 5555 Превключване на ADB в режим TCP/IP за Wi-Fi
adb connect :5555 Свързване с устройство чрез Wi-Fi

Често задавани въпроси

Как да включа отстраняване на грешки чрез USB, ако опцията „За разработчици" е скрита?

Отворете „Настройки" → „За телефона" и натиснете 7 пъти „Номер на компилация". Върнете се в главното меню на настройките — ще се появи раздел „За разработчици". Вътре включете „Отстраняване на грешки чрез USB". Започвайки от Android 4.2, при първото свързване към компютър трябва да потвърдите RSA ключа за отстраняване на грешки на екрана на устройството.

Защо командата adb devices показва статус unauthorized?

Устройството не вярва на компютъра. Отключете екрана на телефона, когато се появи диалоговият прозорец „Разрешаване на отстраняване на грешки чрез USB?", поставете отметка „Винаги разрешавай за този компютър" и натиснете „OK". Ако диалоговият прозорец не се появи, изключете и отново свържете USB кабела или изпълнете adb kill-server && adb start-server.

Как да инсталирам APK на устройство без екран (със счупен дисплей)?

ADB не изисква взаимодействие с екрана. Свържете устройството чрез USB, изчакайте да се появи в adb devices (ако отстраняването на грешки вече е било включено) и изпълнете adb install <път_до_apk>. За отваряне на приложението използвайте adb shell am start -n <пакет>/<активност>. Ако отстраняването на грешки не е било включено предварително, възстановяването на достъп без екран е значително по-трудно — ще е необходимо персонализирано recovery.

Каква е разликата между adb install и инсталиране чрез Google Play?

ADB инсталира APK директно, заобикаляйки проверките на Google Play Protect по време на инсталиране, което позволява тестване на приложения преди публикуване. Въпреки това, окончателната проверка за зловреден код все пак се изпълнява след инсталиране. ADB не изисква Google акаунт, което е важно за корпоративни киоски и устройства без Google услуги.

Може ли да се използва ADB без root достъп на устройството?

Да, огромното мнозинство от ADB команди работят без root. Изключения са командите, които изискват достъп до защитени системни дялове (например директен dump на boot дяла или промяна на системни файлове). За ежедневни задачи — инсталиране на приложения, регистриране, екранни снимки, архивиране, емулация на въвеждане — root не е необходим.

Заключение

ADB (Android Debug Bridge) — е основен инструмент за всички, които работят с Android на професионално ниво. От основно инсталиране на приложения до сложна автоматизация на тестване и възстановяване на устройства — ADB покрива почти всеки сценарий на взаимодействие на компютър със смартфон или таблет.

Усвоявайки командите, описани в тази статия, ще можете уверено да управлявате Android устройство чрез терминал, да анализирате регистрационни файлове, да правите екранни снимки за документация, да извършвате архивиране и да ускорявате процеса на разработка. Редовната практика и изучаването на резултата от adb help ще ви направят опитен потребител на този мощен инструмент.

Резюме

  • ADB — конзолен инструмент за отстраняване на грешки в Android, част от Platform Tools Android SDK
  • Свързване — работа чрез USB и Wi-Fi с команди adb tcpip и adb connect
  • Основни команди — adb devices, adb shell, adb install, adb uninstall, adb pull / adb push
  • Logcat — система за регистриране на Android с филтриране по таг и нива на важност V/D/I/W/E/F
  • Екранни снимки и запис — adb shell screencap и adb shell screenrecord за създаване на изображения и видеа на екрана
  • Разширени възможности — Wi-Fi отстраняване на грешки, архивиране на данни, емулация на въвеждане, рестартиране в fastboot и recovery
  • Няколко устройства — флаг -s за избор на конкретно устройство при паралелно свързване

Резюме

  • ADB — конзолен инструмент за отстраняване на грешки в Android, част от Platform Tools Android SDK
  • Свързване — работа чрез USB и Wi-Fi с команди adb tcpip и adb connect
  • Основни команди — adb devices, adb shell, adb install, adb uninstall, adb pull / adb push
  • Logcat — система за регистриране на Android с филтриране по таг и нива на важност V/D/I/W/E/F
  • Екранни снимки и запис — adb shell screencap и adb shell screenrecord за създаване на изображения и видеа на екрана
  • Разширени възможности — Wi-Fi отстраняване на грешки, архивиране на данни, емулация на въвеждане, рестартиране в fastboot и recovery
  • Няколко устройства — флаг -s за избор на конкретно устройство при паралелно свързване

Ще разработим мобилно приложение под ключ

IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта

Прочетете също