ADB (Android Debug Bridge) — це багатофункціональна консольна утиліта, що входить до складу Android SDK. Вона дозволяє комп'ютеру безпосередньо взаємодіяти з Android-пристроєм через USB-кабель або Wi-Fi. За допомогою ADB можна встановлювати та видаляти додатки, копіювати файли, запускати shell-команди, переглядати системні логи, робити скріншоти та запис екрану, керувати налаштуваннями і навіть виконувати автоматизовані тести. Інструмент незамінний для розробників, тестувальників та ентузіастів, які бажають отримати повний контроль над пристроєм.
Головне
Android Debug Bridge (ADB) — це клієнт-серверна програма, яка складається з трьох компонентів: клієнта (запускається на комп'ютері), сервера (фоновий процес на комп'ютері) та демона adbd (виконується на самому Android-пристрої). Коли розробник або інженер підключає смартфон до ПК, ADB створює надійний канал зв'язку, через який можна передавати команди, файли та дані.
Основні сценарії використання ADB включають налагодження додатків на реальному пристрої без необхідності публікувати APK в магазині, вилучення логів для аналізу помилок, автоматизацію тестування, бекап даних, прошивку recovery-образів та отримання root-доступу. Навіть якщо ви не пишете код, ADB може стати в нагоді для вилучення скріншотів із додатків, зняття відеогіда з екрана телефону або відновлення пристрою після невдалої прошивки.
Підтримка ADB вбудована в усі офіційні збірки Android, починаючи з версії 2.1 (API 7). Для роботи потрібна увімкнена опція «Налагодження через USB» в налаштуваннях розробника. Починаючи з Android 4.2, при першому підключенні пристрій запитує підтвердження: необхідно дозволити налагодження для конкретного комп'ютера за його RSA-ключем.
Для 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 — це система логування 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 Мбіт/с. Основна команда:
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
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 # normal reboot
adb reboot recovery # recovery mode
adb reboot bootloader # bootloader (fastboot)
Режим fastboot відкриває доступ до прошивки образів, розблокування завантажувача та встановлення кастомних recovery.
Коли підключено кілька пристроїв або емуляторів одночасно, ADB вимагає вказати конкретний серійний номер. Команда adb devices виводить усі підключені пристрої з їх серійними номерами.
Для адресації команди конкретному пристрою використовуйте прапорець -s:
adb -s 0123456789ABCD install myapp.apk
Якщо пристрій один, можна обійтися без прапорця. Однак у CI-середовищі, де одночасно запущені кілька емуляторів, вказівка серійного номера обов'язкова.
Вбити сервер ADB — якщо пристрій перестав визначатися або видає помилку, допомагає перезапуск сервера:
adb kill-server
adb start-server
Після цього виконайте adb devices — сервер перезапуститься та перенаправить запити на демони пристроїв.
| Команда | Опис |
|---|---|
| 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 |
Підключення до пристрою по Wi-Fi |
Часто задавані питання
Відкрийте «Налаштування» → «Про телефон» і натисніть 7 разів на «Номер збірки». Поверніться в головне меню налаштувань — розділ «Для розробників» з'явиться. Всередині увімкніть «Налагодження через USB». Починаючи з Android 4.2, при першому підключенні до комп'ютера необхідно підтвердити RSA-ключ налагодження на екрані пристрою.
Пристрій не довіряє комп'ютеру. Розблокуйте екран телефону, при появі діалогу «Дозволити налагодження через USB?» поставте галочку «Завжди дозволяти для цього комп'ютера» і натисніть «OK». Якщо діалог не з'являється, відключіть і знову підключіть USB-кабель або виконайте adb kill-server && adb start-server.
ADB не потребує взаємодії з екраном. Підключіть пристрій через USB, зачекайте його появи в adb devices (якщо налагодження вже було увімкнено) і виконайте adb install <шлях_до_apk>. Для відкриття додатку використовуйте adb shell am start -n <пакет>/<активність>. Якщо налагодження не було увімкнено заздалегідь, відновити доступ без екрану суттєво складніше — знадобиться кастомне recovery.
ADB встановлює APK безпосередньо, минаючи перевірки Google Play Protect під час інсталяції, що дозволяє тестувати додатки до публікації. При цьому фінальна перевірка на шкідливий код все одно запускається після встановлення. ADB не вимагає облікового запису Google, що важливо для корпоративних кіосків та пристроїв без сервісів Google.
Так, переважна більшість команд ADB працює без root. Винятки — команди, що вимагають доступу до захищених системних розділів (наприклад, прямий дамп boot-розділу або зміна системних файлів). Для повсякденних завдань — встановлення додатків, логування, скріншоти, бекапи, емуляція введення — root не потрібен.
ADB (Android Debug Bridge) — це фундаментальний інструмент для всіх, хто працює з Android на професійному рівні. Від базового встановлення додатків до складної автоматизації тестування та відновлення пристроїв — ADB покриває практично будь-який сценарій взаємодії комп'ютера зі смартфоном або планшетом.
Опанувавши команди, описані в цій статті, ви зможете впевнено керувати Android-пристроєм через термінал, аналізувати логи, знімати скріншоти для документації, виконувати бекапи та прискорювати процес розробки. Регулярна практика та вивчення виводу adb help зроблять вас досвідченим користувачем цього потужного інструменту.
Підсумки
Ми розробимо мобільний застосунок під ключ
IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.