ADB (Android Debug Bridge) — este un utilitar consolă multifuncțional care face parte din Android SDK. Permite computerului să interacționeze direct cu dispozitivul Android prin cablu USB sau prin Wi-Fi. Cu ajutorul ADB se pot instala și dezinstala aplicații, copia fișiere, rula comenzi shell, vizualiza jurnalele de sistem, face capturi de ecran și înregistrări video ale ecranului, gestiona setări și chiar executa teste automatizate. Instrumentul este indispensabil pentru dezvoltatori, testeri și entuziaști care doresc să obțină control total asupra dispozitivului.
Principalele puncte
Android Debug Bridge (ADB) — este o aplicație client-server care constă din trei componente: clientul (rulează pe computer), serverul (proces de fundal pe computer) și demonul adbd (rulează pe dispozitivul Android propriu-zis). Când un dezvoltator sau inginer conectează smartphone-ul la PC, ADB creează un canal de comunicare fiabil prin care pot fi transmise comenzi, fișiere și date.
Principalele scenarii de utilizare ADB includ depanarea aplicațiilor pe un dispozitiv real fără a fi nevoie să publicați APK-ul în magazin, extragerea jurnalelor pentru analiza erorilor, automatizarea testelor, backupul datelor, flasarea imaginilor recovery și obținerea accesului root. Chiar dacă nu scrieți cod, ADB poate fi util pentru extragerea capturilor de ecran din aplicații, înregistrarea unui ghid video de pe ecranul telefonului sau restaurarea dispozitivului după o flasare nereușită.
Suportul ADB este încorporat în toate versiunile oficiale Android începând cu versiunea 2.1 (API 7). Pentru funcționare este necesară opțiunea „Depanare USB” activată în setările dezvoltatorului. Începând cu Android 4.2, la prima conectare dispozitivul solicită confirmarea: trebuie să permiteți depanarea pentru computerul respectiv pe baza cheii RSA.
Pentru Windows — descărcați Platform Tools de pe site-ul oficial Google Developers, extrageți arhiva în folderul C:\adb și adăugați această cale la variabila de mediu PATH. După restartarea terminalului, comanda adb va fi disponibilă global.
Pentru macOS — cel mai simplu mod este să instalați ADB prin managerul de pachete Homebrew: executați brew install android-platform-tools. Toate dependențele vor fi rezolvate automat.
Pentru Linux — în distribuțiile bazate pe Debian / Ubuntu: sudo apt install adb. După instalare, adăugați utilizatorul în grupul plugdev: sudo usermod -aG plugdev $USER și reconectați-vă pentru ca ADB să aibă acces la dispozitivele USB.
Corectitudinea instalării poate fi verificată cu comanda adb version. Dacă în răspuns se afișează numărul versiunii Android Debug Bridge, instrumentul este gata de lucru.
Prima conectare începe întotdeauna cu comanda adb devices. Aceasta afișează lista dispozitivelor conectate și starea lor. Dacă dispozitivul apare ca unauthorized, deblocați ecranul și confirmați depanarea pe telefon.
adb devices
List of devices attached
emulator-5554 device
0123456789ABCD device
Instalarea aplicației — una dintre cele mai frecvente operațiuni. Este suficient să indicați calea către fișierul APK:
adb install C:\apps\myapp.apk
Dacă aplicația este deja instalată, dar trebuie înlocuită cu o versiune actualizată, adăugați flagul -r (replace):
adb install -r C:\apps\myapp-v2.apk
Dezinstalarea aplicației se realizează după numele pachetului:
adb uninstall com.example.myapp
Copierea fișierelor — adb pull extrage fișierul de pe dispozitiv pe computer, adb push încarcă fișierul pe dispozitiv:
adb pull /sdcard/DCIM/screenshot.png .
adb push myfile.txt /sdcard/Documents/
Shell interactiv — comanda adb shell deschide o carcasă de comenzi a dispozitivului. În interiorul acesteia se pot executa comenzi standard Linux: ls, ps, top, dumpsys, pm, am și altele.
adb shell
tissot_sprout:/ $ ls -la /sdcard/
tissot_sprout:/ $ ps | grep com.android.chrome
Pornirea unei activități prin ADB permite deschiderea oricărei aplicații sau ecran fără a căuta manual pictograma:
adb shell am start -n com.android.chrome/com.google.android.apps.chrome.Main
Logcat — este sistemul de jurnalizare Android care colectează mesaje de la aplicații, servicii de sistem și nucleu. Instrumentul este indispensabil la depanare: din jurnale se poate înțelege de ce a căzut aplicația, ce metodă a generat excepția sau cât durează o anumită operațiune.
Pornirea simplă fără filtre — adb logcat. Fluxul de jurnale este infinit, pentru oprire apăsați Ctrl+C. Pentru a filtra mesajele după tag, utilizați parametrul -s:
adb logcat -s MainActivity:V
Nivelurile de importanță ale jurnalizării (de la cel mai detaliat la critic): V (Verbose), D (Debug), I (Info), W (Warning), E (Error), F (Fatal). Combinația de tag și nivel permite extragerea doar a mesajelor necesare.
Pentru ștergerea bufferului acumulat înainte de test:
adb logcat -c
Iar pentru salvarea jurnalelor într-un fișier:
adb logcat -d > app_logs.txt
Flagul -d (dump) afișează bufferul curent și încheie execuția fără a bloca terminalul. Acest lucru este convenabil pentru scripturile de automatizare.
Captura de ecran se face cu comanda adb shell screencap. Rezultatul se salvează într-un fișier, care apoi se extrage prin adb pull:
adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png
Se pot combina ambele operațiuni într-o singură linie folosind substituție și conductă. În practică, acest lucru accelerează crearea documentației și a rapoartelor de testare.
Înregistrarea ecranului este disponibilă pe Android 4.4+ (API 19). Durata implicită de înregistrare — 180 de secunde, bitrate — 4 Mbit/s. Comanda principală:
adb shell screenrecord /sdcard/demo.mp4
Pentru a opri înregistrarea, apăsați Ctrl+C. Rezoluția video corespunde rezoluției ecranului dispozitivului, dar nu depășește 1080p. Pentru a modifica bitrate-ul, specificați --bit-rate:
adb shell screenrecord --bit-rate 8000000 /sdcard/demo.mp4
Comenzi de diagnostic: adb shell dumpsys afișează starea tuturor serviciilor de sistem. Pentru a obține informații doar despre baterie:
adb shell dumpsys battery
Lista pachetelor instalate poate fi obținută prin Package Manager:
adb shell pm list packages
Resetarea setărilor aplicației (echivalentul ștergerii datelor în setări):
adb shell pm clear com.example.myapp
Depanarea Wi-Fi elimină necesitatea de a ține dispozitivul conectat prin USB. Asigurați-vă că computerul și dispozitivul se află în aceeași rețea. Mai întâi executați adb tcpip 5555, deconectați USB-ul, apoi conectați-vă prin IP:
adb tcpip 5555
adb connect 192.168.1.100:5555
Dacă adresa IP a dispozitivului este necunoscută, aflați-o prin adb shell ip addr show wlan0 înainte de a deconecta cablul.
Backupul datelor aplicației sau al întregului sistem se realizează fără root:
adb backup -apk -shared -all -system -f mybackup.ab
Restaurarea din backup:
adb restore mybackup.ab
Emularea introducerii — comanda adb shell input permite simularea atingerilor, glisărilor, apăsării tastelor și introducerii textului. Aceasta stă la baza automatizării testelor UI fără frameworkuri suplimentare:
adb shell input tap 500 1000
adb shell input swipe 300 500 800 500
adb shell input text "Hello, ADB!"
Repornirea în diferite moduri:
adb reboot # repornire normală
adb reboot recovery # mod de recuperare
adb reboot bootloader # încărcător (fastboot)
Modul fastboot oferă acces la flasarea imaginilor, deblocarea bootloaderului și instalarea de recovery personalizat.
Când sunt conectate mai multe dispozitive sau emulatoare simultan, ADB necesită specificarea numărului de serie concret. Comanda adb devices afișează toate dispozitivele conectate cu numerele lor de serie.
Pentru a adresa o comandă unui anumit dispozitiv, utilizați flagul -s:
adb -s 0123456789ABCD install myapp.apk
Dacă dispozitivul este unul singur, vă puteți descurca fără flag. Totuși, în mediul CI, unde rulează simultan mai multe emulatoare, specificarea numărului de serie este obligatorie.
Oprirea serverului ADB — dacă dispozitivul a încetat să fie detectat sau afișează o eroare, repornirea serverului ajută:
adb kill-server
adb start-server
După aceasta, executați adb devices — serverul se va reporni și va redirecționa cererile către demonii dispozitivelor.
| Comandă | Descriere |
|---|---|
| adb devices | Afișează lista dispozitivelor conectate |
| adb install |
Instalare fișier APK pe dispozitiv |
| adb uninstall |
Dezinstalare aplicație după numele pachetului |
| adb shell | Pornire carcasă de comenzi interactivă |
| adb push |
Copiere fișier de pe computer pe dispozitiv |
| adb pull |
Copiere fișier de pe dispozitiv pe computer |
| adb logcat | Vizualizare jurnale de sistem și aplicații |
| adb shell screencap | Creare captură de ecran |
| adb shell screenrecord | Înregistrare video de pe ecran |
| adb reboot | Repornire dispozitiv |
| adb tcpip 5555 | Comutare ADB în modul TCP/IP pentru Wi-Fi |
| adb connect |
Conectare la dispozitiv prin Wi-Fi |
Întrebări frecvente
Deschideți „Setări" → „Despre telefon" și apăsați de 7 ori pe „Număr versiune". Reveniți în meniul principal al setărilor — secțiunea „Pentru dezvoltatori" va apărea. În interior, activați „Depanare USB". Începând cu Android 4.2, la prima conectare la computer trebuie confirmată cheia RSA de depanare pe ecranul dispozitivului.
Dispozitivul nu are încredere în computer. Deblocați ecranul telefonului, când apare dialogul „Permiteți depanarea USB?", bifați „Permiteți întotdeauna pentru acest computer" și apăsați „OK". Dacă dialogul nu apare, deconectați și reconectați cablul USB sau executați adb kill-server && adb start-server.
ADB nu necesită interacțiune cu ecranul. Conectați dispozitivul prin USB, așteptați să apară în adb devices (dacă depanarea era deja activată) și executați adb install
ADB instalează APK-ul direct, ocolind verificările Google Play Protect în timpul instalării, ceea ce permite testarea aplicațiilor înainte de publicare. Totuși, verificarea finală pentru cod malițios rulează oricum după instalare. ADB nu necesită cont Google, ceea ce este important pentru chioșcurile corporative și dispozitivele fără servicii Google.
Da, marea majoritate a comenzilor ADB funcționează fără root. Excepțiile sunt comenzile care necesită acces la partițiile de sistem protejate (de exemplu, dump direct al partiției boot sau modificarea fișierelor de sistem). Pentru sarcinile de zi cu zi — instalarea aplicațiilor, jurnalizarea, capturile de ecran, backupurile, emularea introducerii — root nu este necesar.
ADB (Android Debug Bridge) — este un instrument fundamental pentru toți cei care lucrează cu Android la nivel profesional. De la instalarea de bază a aplicațiilor până la automatizarea complexă a testelor și restaurarea dispozitivelor, ADB acoperă practic orice scenariu de interacțiune a computerului cu smartphone-ul sau tableta.
Stăpânind comenzile descrise în acest articol, veți putea gestiona cu încredere un dispozitiv Android prin terminal, analiza jurnale, face capturi de ecran pentru documentație, efectua backupuri și accelera procesul de dezvoltare. Practica regulată și studierea ieșirii adb help vă vor face un utilizator experimentat al acestui instrument puternic.
Rezumat
Rezumat
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și