- ADB ir „Fastboot“ leidžia derinti, diegti Apps ir blykstelėti iš kompiuterio naudojant USB arba „Wi-Fi“ ryšį.
- Įdiekite oficialius „Platform Tools“ įrankius, o sistemoje „Windows“ – vairuotojai OEM; pridėkite adb prie PATH.
- Komandos Raktas: įrenginiai, apvalkalas, stūmimas/traukimas, diegimas/pašalinimas, paleidimas iš naujo ir greitojo paleidimo „flash“.
- Išplėstinės funkcijos: belaidis derinimas, prievadų peradresavimas, am/pm, ekrano kopijos / įrašymas ir serijinis režimas.

Jei dirbate su „Android“ šiek tiek techniniu lygmeniu, anksčiau ar vėliau susidursite su ADB („Android Debug Bridge“) ir „Fastboot“ . Šie įrankiai leidžia jums bendrauti tarp telefono ir kompiuterio, kad būtų galima derinti, diegti programas, „flash“ skaidinius, pašalinti „bloatware“ ir daug daugiau, nereikalaujant root prieigos . Šiame vadove sužinosite, kaip žingsnis po žingsnio įdiegti, konfigūruoti ir naudoti ADB sistemose „Windows“, „Linux“ ir „macOS“ , įskaitant išplėstines funkcijas, tokias kaip „Wi-Fi“ derinimas, prievadų peradresavimas ir ekrano kopijų fiksavimas bei įrašymas.
Paaiškinkime aiškiai ir tiesiai: ADB yra kliento-serverio programa, sudaryta iš trijų komponentų. Pirma, tai klientas jūsų kompiuteryje, kuris siunčia komandas; antra, tarpinis serveris, kuris valdo ryšius; ir galiausiai adbd demonas , veikiantis „Android“ įrenginyje. Taip pat aptarsime „Fastboot“ , skirtą įkrovos įkėlimo ir mirksėjimo užduotims. Visa tai su tikromis komandomis, naudingais sparčiaisiais klavišais ir patarimais, kad nuo pat pradžių galėtumėte patogiai naudotis.
Kas yra ADB ir kam jis skirtas?

ADB, arba „Android Debug Bridge“, yra komandinės eilutės įrankis , jungiantis kompiuterį prie „Android“ įrenginio per USB arba TCP/IP. Jis naudojamas programoms diegti ir derinti, „Unix“ apvalkalui paleisti , failams perkelti, paketams tvarkyti, ekrano kopijoms daryti, ekranui įrašyti ir darbo eigoms automatizuoti.
Jo architektūra yra kliento-serverio : klientas iškviečiamas naudojant „adb“ komandą; serveris klausosi 5037 prievado ir koordinuoja ryšius; o telefone „adbd“ veikia kaip foninis procesas. Serveris taip pat aptinka emuliatorius nelyginiuose prievaduose 5555–5585 diapazone ir kiekvieną egzempliorių susieja su serijos numeriu (pavyzdžiui, emulator-5554 ).
Be USB derinimo, ADB palaiko belaidį derinimą „Android 11+“ sistemoje, susiejant per QR kodą, o ankstesnėse versijose po pradinio laidinio ryšio galite naudoti klasikinę „adb tcpip 5555 “ schemą.
Pasiruošimas: kūrėjo parinktys ir USB derinimas
Prieš vykdydami bet kokias komandas, telefone įjunkite kūrėjo parinktis : Nustatymai > Apie telefoną > 7–10 kartų palieskite „Versijos numeris“. Tada eikite į kūrėjo parinktis ir įjunkite USB derinimą . Prijungę telefoną prie kompiuterio, priimkite RSA rakto raginimą , kad autorizuotumėte derinimą iš to kompiuterio.
Pradiniam patikrinimui prijunkite įrenginį duomenų kabeliu ir paleiskite „adb devices“ . Jei viskas veikia tinkamai, matysite serijos numerį su įrenginio būsena; jei ekrane pasirodys pranešimas , palieskite „Leisti“ ir iš naujo įtraukite įrenginius į sąrašą.
ADB ir „Fastboot“ diegimas sistemoje „Windows“
„Windows“ sistemoje paprasčiausias būdas yra atsisiųsti oficialų „Android SDK Platform-Tools“ paketą (kuriame yra „adb“ ir „fastboot“). Išskleiskite ZIP failą į paprastą vietą (pvz., C:\Android\platform-tools). Atminkite, kad „Windows“ sistemoje norint atpažinti telefoną, kompiuteriui reikia gamintojo tvarkyklių : jas galite gauti iš „Android“ kūrėjų arba originalios įrangos gamintojų, tokių kaip „OnePlus“, „Xiaomi“ ir kt.
Norėdami atidaryti konsolę įrankių aplanke, eikite į tą kelią ir paspauskite „Shift“ + dešiniuoju pelės mygtuku spustelėkite > „Atidaryti „PowerShell“ langą čia“ (arba CMD ). Tada pabandykite „adb devices“ , prijungę telefoną ir įjungę USB derinimą.
Jei norite paleisti „adb“ iš bet kurio aplanko, pridėkite „platform-tools“ prie savo kelio PATH : Valdymo skydas > Sistema > Išplėstiniai sistemos nustatymai > Aplinkos kintamieji > redaguokite „Kelias“ ir pridėkite kelią prie „platform-tools“. Tai leidžia bet kuriame terminale įvesti „adb“ nenaviguojant į aplanką.
Įdiegę „Platform-Tools“, taip pat turėsite „Fastboot“ . Jei jūsų darbo eiga apima įkrovos tvarkyklės atrakinimą arba pertvarų mirksėjimą, būsite pasiruošę be jokių papildomų diegimų.
ADB ir „Fastboot“ diegimas „macOS“ sistemoje
„macOS“ sistemoje atsisiųskite „Android SDK Platform-Tools“ , išskleiskite ZIP failą ir sukurkite „Android“ aplanką savo vartotojo kataloge tvarkymui. Arba galite įdiegti ADB naudodami „Homebrew“ . „macOS“ nereikia papildomų mobiliųjų įrenginių tvarkyklių , o tai labai supaprastina procesą.
Atidarykite terminalą, eikite į kelią, kuriame išskleidėte įrankius (pvz., cd ~/Desktop/Android/platform-tools ) ir paleiskite ./adb devices . Arba pridėkite platform-tools prie savo terminalo kelio (bash/zsh), kad iškviestumėte adb iš bet kurio katalogo.
ADB ir „Fastboot“ diegimas „Linux“ sistemoje
„Linux“ sistemoje galite pasirinkti diegti iš saugyklų arba atsisiųsti „Google Platform Tools“. Daugumai distribucijų nereikia išmaniųjų telefonų tvarkyklių, todėl ją galima prijungti ir naudoti.
„Debian“ / „Ubuntu“ / „Linux Mint“ pagrindu sukurtos distribucijos: diegimas naudojant komandą „sudo apt install android-tools-adb android-tools-fastboot“ . Klasikinėje „Debian“ versijoje „sudo apt-get install“ taip pat veikia su tais pačiais paketais.
„Fedora“ ir jos išvestinės versijos: diegimas naudojant komandą „sudo dnf install android-tools“ . „openSUSE“ sistemoje atitikmuo paprastai yra „sudo zypper install adb“ arba metapaketas „android-tools“.
„Arch Linux“: naudokite komandą „sudo pacman -S android-tools“ . Kitose paketų šeimose taip pat yra tokie paketai: „sudo emerge -a dev-util/android-tools“ „Gentoo“ sistemoje arba „sudo apk add adb“ „Alpine“ sistemoje.
Jei pageidaujate naujausios oficialios versijos, atsisiųskite „Platform-Tools“ ZIP failą, išskleiskite jį ir paleiskite ./adb version , kad patikrintumėte versiją; galite patalpinti aplanką bet kur ir pridėti jį prie apvalkalo PATH faile ~/.bashrc arba ~/.zshrc.
Darbo su ADB pradžia: pagrindiniai patikrinimai ir naudojimas
Prijunkite mobilųjį įrenginį per USB, įjunkite USB derinimą ir paleiskite komandą „adb devices“ , kad būtų rodomas įrenginių sąrašas. Pridėkite „-l“ , kad pamatytumėte tokią išsamią informaciją kaip produktas, modelis ir transport_id, kuri naudinga dirbant su keliais įrenginiais ar emuliatoriais vienu metu.
Pagrindinės kasdienės ADB komandos: „adb shell“ , skirta įrenginyje atidaryti apvalkalą; „adb push file path“ , skirta failams siųsti į telefoną; „adb pull path“ , skirta jiems perkelti į kompiuterį; „adb install file.apk“ ir „adb uninstall package“ , skirtos programoms įdiegti ir pašalinti.
Greitas būsenos valdymas: „adb reboot“ paleidžia „Android“ iš naujo; „adb reboot-bootloader“ įjungia greitojo paleidimo režimą; „adb reboot recovery“ paleidžia atkūrimo režimą. Jei kas nors užstringa, paleiskite serverį iš naujo naudodami „adb kill-server“ ir pakartokite.
Kai prijungtas daugiau nei vienas įrenginys, nurodykite paskirties vietą naudodami komandą „adb -s SERIAL“ arba naudokite „-e“ , kad nusiųstumėte į vieną emuliatorių, arba „-d“, kad nusiųstumėte į vieną fizinį įrenginį. Taip pat galite apibrėžti kintamąjį „ANDROID_SERIAL“ savo aplinkoje.
„Fastboot“: diegimas ir pagrindinės komandos
„Fastboot“ yra įtrauktas į „Google“ platformos įrankius . „Linux“ sistemoje jis taip pat pasiekiamas „android-tools“ saugyklose. Tai įrankis, naudojamas sąveikai su įkrovos įkrovikliu ir „flash“ skaidiniais.
Svarbiausios komandos: „fastboot devices“ , skirtos ryšiui patikrinti įkrovos tvarkyklės režimu; „fastboot oem unlock “ (arba „fastboot flashing unlock“ daugelyje modelių), skirtos įkrovos tvarkyklei atrakinti – tai gali ištrinti visus jūsų duomenis , sukurkite atsarginę kopiją ir pažiūrėkite, kaip formatuoti telefoną iš kompiuterio.
Įprastas atkūrimas: „fastboot flash recovery recovery.img“ , skirtas pasirinktiniam atkūrimui įdiegti; „fastboot flash boot boot.img“ – branduoliui / ramdiskui; „fastboot flash system system.img“ – sistemai; ir „fastboot flashall“ , skirtas visų .img failų, esančių įrankių aplanke, atkūrimui.
Pašalinkite „bloatware“ be root teisių su ADB
ADB leidžia pašalinti programas iš dabartinio vartotojo be root prieigos, idealiai tinka šalinant išplitusias programas . Įprasta darbo eiga yra surasti paketo pavadinimą ir jį pašalinti iš 0 vartotojo.
Procedūra: Atidarykite komandą „shell“ su „adb shell“ , tada surinkite paketus naudodami komandą „pm list packages | grep "word"`, kad rastumėte paketo pavadinimą . Galiausiai paleiskite komandą „pm uninstall -k --user 0 package.name` . Pavyzdžiui, „Google“ žemėlapiams: „pm uninstall -k --user 0 com.google.android.apps.maps “.
Programų, failų ir prievadų diegimas ir tvarkymas
Norėdami įdiegti APK failą: paleiskite „adb install path/to.apk “; jei naudojate bandomuosius APK failus, pridėkite „-t“ . Jei jūsų programa platinama keliuose APK failuose (padalinti), naudokite „adb install-multiple“, kad pateiktumėte visus failus.
Turinio kopijavimas: „adb push local remote“ įkelia failus arba aplankus į telefoną; „adb pull remote local“ atlieka priešingą funkciją. Greitas pavyzdys būtų „adb push myfile.txt /sdcard/myfile.txt“, kad failas būtų patalpintas vidinėje atmintinėje.
Prievadų peradresavimas: naudodami „adb forward“ , peradresuojate srautą iš pagrindinio kompiuterio į įrenginį. Pavyzdžiui, naudodami komandą „adb forward tcp:6100 tcp:7100“ arba į vidinį galinį tašką, pvz., „adb forward tcp:6100 local:logd“, duomenys bus išvesti į sistemos žurnalą.
Įrenginio pasirinkimas: jei yra keli įrenginiai, ADB paprašys nurodyti paskirties vietą . Naudokite „-s“ su serijos numeriu tiksliai taip, kaip jis nurodyta „adb devices -l“ parametre.
Belaidis derinimas („Android 11+“) ir TCP/IP ryšys
Naudodami „Android 11“ ir naujesnes versijas, galite naudoti belaidį „Wi-Fi“ derinimą . Reikalavimai: įrenginys ir kompiuteris tame pačiame tinkle, atnaujinti „Platform Tools“ ir, jei naudojate IDE, naujausia „Android Studio“ versija.
Susiejimas naudojant „Android Studio“: telefone įjunkite belaidį derinimą, IDE atidarykite „Pair Devices Using Wi-Fi“ ir pasirinkite QR arba susiejimo kodą . Susiejus įrenginys bus paruoštas diegimui ir derinimui.
Susiejimas per komandinę eilutę: mobiliajame įrenginyje įjunkite belaidžio ryšio derinimą, suraskite IP:port adresą ir susiejimo kodą, kompiuteryje eikite į platform-tools ir paleiskite „adb pair ip:port“ , įveskite kodą ir, jei reikia, įveskite „adb connect ip:port“.
„Android 10“ ir senesnės versijos: prijunkite per USB, paleiskite „adb tcpip 5555“ , atjunkite laidą, suraskite telefono IP adresą ir įveskite „adb connect IP:5555“ . Naudodami „adb devices“ , patikrinkite , ar būsena yra „device“.
Trikčių šalinimas: Kai kurie įmonių tinklai blokuoja P2P , tokiu atveju naudokite laidinį ryšį arba kitą tinklą. Jei perjungiant „Wi-Fi“ tinklus įrenginys neberandamas, susiekite jį dar kartą. Jei jūsų tinklas nepalaiko mDNS, prijunkite rankiniu būdu naudodami „adb connect ip:port“.
Apvalkalas, Veiklos tvarkyklė (rytas) ir Paketų tvarkyklė (vakaras)
Komanda „adb shell“ nukreipia jus į įrenginio komandinės eilutės aplinką; jei reikia nuorodos, žr. „shell“ komandą, skirtą „Android“ . „Android Platform Tools 23+“ tvarko argumentus, tokius kaip SSH , todėl jei siunčiate metasimbolius arba kabutes , atminkite, kad norint teisingai pasiekti nuotolinį apvalkalą, gali prireikti dvigubų kabučių.
Veiklos tvarkyklė ( am ): leidžia pradėti veiklas , siųsti transliacijas, priverstinai sustabdyti, profilį, keisti ekrano dydį ir tankį ir kt. Tipiniai pavyzdžiai: adb shell am start -a android.intent.action.VIEW arba koreguoti ekraną su am display-size 1280×800 ir am display-density 480.
Paleidžiant „ am start“, galite naudoti tokias parinktis kaip -D (derinimas), -W (laukti paleidimo), -start-profiler, -S (priversti sustabdyti prieš atidarant), -user, kad pasirinktumėte vartotoją, ir kurti ketinimus su -a veiksmu, -d duomenimis, -t mime, -n komponentu ir papildomais parametrais (pavyzdžiui, -e rakto reikšmė arba -ez loginėms reikšmėms).
Paketų tvarkyklė ( pm ): pateikia paketų sąrašą ir juos tvarko. Dažniausios komandos: pm pateikia paketų sąrašą su filtrais (-f, -d, -e, -s, -3, -user), pm path package , kad pamatytumėte kelią iki APK, pm clear package , kad išvalytumėte duomenis, pm enable/disable , kad įjungtumėte/išjungtumėte komponentus, ir pm grant/revoke, kad suteiktumėte vykdymo laiko leidimus.
Politikos valdymas (DPM), ekrano kopijos ir ekrano įrašymas
Įmonės testavimui dpm leidžia aktyvuoti profilio / įrenginio administratorius ir savininkus: „adb shell dpm set-active-admin component“ arba „set-device-owner“ . Taip pat galite priverstinai generuoti tinklo ir saugos žurnalus „Android 9+“ sistemoje naudodami „force-network-logs“ ir „force-security-logs“.
Ekrano kopija: Norėdami užfiksuoti vaizdą, naudokite `adb shell screencap /sdcard/screen.png` , o tada jį nukopijuokite naudodami `adb pull /sdcard/screen.png` . Tai greita ir nereikalauja trečiųjų šalių programų.
Ekrano įrašymas: naudokite `adb shell screenrecord /sdcard/demo.mp4` . Naudingos parinktys: `--size widthXheight` , `--bit-rate` bps (pvz., 6000000, jei greitis ~6 Mbps), `--time-limit` sekundėmis, `--rotate` ir `--verbose` . Atminkite, kad garsas neįrašomas, o numatytasis maksimalus įrašymo laikas yra 3 minutės.
Jei reikia švarios testavimo aplinkos, įjunkite „adb shell cmd testharness enable“ : įrenginys bus atstatytas, išsaugodamas RSA raktą derinimui, išjungs ekrano užraktą ir pradinius vedlius bei pakoreguos parinktis, kad būtų lengviau automatizuoti.
Išplėstinės užklausos, SQLite, USB/mDNS serveriai ir serijinis režimas
Norėdami patikrinti duomenų bazes emuliatoriuose arba sistemose su root prieiga, galite naudoti sqlite3 iš terminalo: tokios komandos kaip .schema arba .dump padeda peržiūrėti lentelių struktūras ir turinį.
USB serveriai: serveris gali naudoti OS vidinę serverio sąsają arba „libusb“ . Kai kurios funkcijos (prijungimas / atjungimas, USB greitis) prieinamos tik „libusb“. Valdykite serverį naudodami ADB_LIBUSB=1/0 ; nuo ADB 34 versijos „libusb“ yra numatytoji parinktis, išskyrus „Windows“, kur naudojama vidinė serverio sąsaja.
„mDNS“ serveriai: ADB aptinka įrenginius naudodamas „Bonjour“ arba „Openscreen“ . „macOS“ sistemoje „Apple“ demonas visada aktyvus; „Windows“ / „Linux“ sistemoje gali reikėti „mdnsd“. Jei reikia išjungti demoną, galite jį perjungti naudodami ADB_MDNS_OPENSCREEN=1/0 .
Burst režimas (ADB ≥ 36.0.0): eksperimentinis režimas, kuris gerokai pagerina perdavimo našumą ir sumažina delsą derinimo metu. Įjunkite jį naudodami ADB_DELAYED_ACK=1 arba „Android Studio“ derinimo programos nustatymuose.
Praktiniai patarimai ir tipiniai scenarijai
Jei „adb devices“ tam tikromis sąlygomis nerodo jūsų emuliatoriaus (pavyzdžiui, jei emuliatorių paleidote su konkrečiais prievadais, o serveris nebuvo aktyvus), pirmiausia paleiskite serverį naudodami „adb start-server“ arba leiskite emuliatoriui automatiškai pasirinkti prievadus.
Automatizuodami atminkite, kad galite susieti scenarijus su „adb“ testavimo srautams ir kad `adb --help` pateikia visas galimas parinktis, jei jums reikia greitos apžvalgos iš terminalo.
„Windows“ sistemoje, kai kas nors neveikia, tai beveik visada išsprendžiama įdiegus tinkamus originalios įrangos gamintojo (OEM) tvarkykles , pakeičiant USB prievadą, naudojant kokybišką duomenų kabelį arba perkraunant serverį naudojant komandą „adb kill-server“ . „Linux“ / „macOS“ sistemoje patikrinkite teises ir, jei sistema neaptinka įrenginio, paleiskite komandą „udev“.
Patogumui pridėkite platform-tools į savo sistemos kelią (PATH): „Windows“ sistemoje naudodami aplinkos kintamuosius; „Linux“ / „macOS“ sistemoje eksportuodami kelią į savo .bashrc arba .zshrc failą. Taip jums nereikės kaskart naršyti į įrankių aplanką.
Įvaldę ADB ir „Fastboot“, galite lengvai valdyti „Android“: nuo programų diegimo ir derinimo iki skaidinių mirksėjimo, užduočių automatizavimo , darbo per „Wi-Fi“ ar ekrano vaizdo fiksavimo be trečiųjų šalių programų. Turėdami naujausius platformos įrankius, tinkamas tvarkykles ir pagrindines AM/PM komandas, galėsite lengvai atlikti tiek kasdienes užduotis, tiek sudėtingesnius scenarijus.
Aistringas rašytojas apie baitų pasaulį ir technologijas apskritai. Man patinka dalytis savo žiniomis rašydamas, būtent tai ir darysiu šiame tinklaraštyje, parodysiu jums įdomiausius dalykus apie programėles, programinę įrangą, techninę įrangą, technologijų tendencijas ir kt. Mano tikslas – padėti jums paprastai ir smagiai naršyti skaitmeniniame pasaulyje.