![]() | |
Tipus | programari |
---|---|
Llicència | Llicència Apache, versió 2.0 ![]() |
Característiques tècniques | |
Sistema operatiu | Microsoft Windows, Linux i macOS ![]() |
Escrit en | C++ ![]() |
Més informació | |
Lloc web | developer.android.com… ![]() |
| |
L'Android Debug Bridge (abreujat habitualment com adb) és una eina de programació utilitzada per a la depuració de dispositius basats en Android. El dimoni del dispositiu Android es connecta amb el servidor de l'ordinador amfitrió mitjançant USB o TCP, que es connecta al client que utilitza l'usuari final a través de TCP. Disponible com a programari de codi obert sota la llicència Apache per Google des del 2007, les característiques inclouen un shell i la possibilitat de fer còpies de seguretat. El programari adb és compatible amb Windows, Linux i macOS. Les botnets i altres programes maliciosos han fet un ús indegut, per als quals es van desenvolupar mitigacions com l'autenticació RSA i la llista blanca de dispositius.
Les característiques d'adb inclouen copiar fitxers des de l'ordinador amfitrió,[1] instal·lar aplicacions, visualitzar la sortida de logcat, obtenir un shell Unix,[2] i reiniciar al mode Qualcomm EDL.[3] Per exemple, les aplicacions d'Android es poden desar mitjançant l'ordre backup
en un fitxer.[4] També inclou suport per al protocol Java Debug Wire.[5]
S'han posat a disposició algunes interfícies gràfiques. El monitor gràfic de dispositiu Android d'Android Studio es pot utilitzar per recuperar informació d'un dispositiu Android.[6]
El mètode d'Android per instal·lar fitxers APK en un dispositiu s'ha utilitzat com una manera de descarregar aplicacions no oficials al subsistema de Windows per a Android [7] i la màquina virtual Android de Chrome OS.[8]
L'Android Software Development Kit (SDK) es va llançar per primera vegada el 2007.[9] Des del 2017, Google va permetre descarregar adb per separat de l'SDK d'Android.[10]
El 2015, Microsoft va llançar un emulador d'Android que es pot connectar al client adb.[11] El 2016 per a Android Studio 2.0 es va fer una millora de rendiment 5x per instal·lar aplicacions i enviar fitxers mitjançant adb.[12] Per facilitar l'ús d'Android Things, el 2017 es va crear un embolcall al voltant de les ordres adb manuals.[13] Per a Android 11 el 2020, Google va afegir instal·lacions incrementals d'adb.[14] El 2020, el Wi-Fi adb es va integrar a Android Studio per a macOS.[15] L'any 2021 per a Android 12, l'ordre adb backup
es va limitar, de manera que la còpia de seguretat de les dades d'usuari de les aplicacions s'ha activat mitjançant una configuració de manifest per aplicació [16] després d'haver estat obsoleta a Android 10 juntament amb adb restore
.[17] Fucsia serà compatible amb adb. Se substituirà per fx i ffx.[18]
Per a Windows, l'SDK d'Android conté el binari adb.exe que es pot extreure i instal·lar.[19] How-To Geek recomana afegir la carpeta que conté els binaris a la variable d'entorn PATH.[20]
A Ubuntu, adb es pot instal·lar amb el paquet android-tools-adb
.[21] Per a Debian, també s'ha recomanat instal·lar el paquet android-sdk-platform-tools-common
al costat del paquet adb
, que instal·la les regles udev que permeten executar l'eina sense permisos d'arrel.[22] Per a macOS i altres distribucions de Linux, les eines de la plataforma es poden descarregar i la variable PATH es pot modificar a bashrc.[23]
A Android 4.2.2 o posterior (nivell API 17), es mostra un diàleg amb una empremta digital RSA que l'usuari ha d'acceptar. Això protegeix contra els ordinadors que explotin el mecanisme de depuració sense el consentiment de l'usuari del dispositiu.[24] A partir d'Android 4.2, la configuració del desenvolupador s'amaga de manera predeterminada. Si premeu set vegades el número de compilació al menú sobre, els fa visibles per a l'usuari. Després d'això, es pot activar l'opció de depuració USB.[25] Alguns proveïdors d'Android tenen procediments diferents per activar-lo. Per exemple, Huawei requereix introduir un codi PIN abans que es pugui activar l'adb.[26]
El protocol adb es pot transportar per USB o per Wi-Fi mitjançant TCP. Utilitza una arquitectura client-servidor. S'utilitzen dos protocols diferents. El primer és entre el client i el servidor i el segon és entre el servidor i el dimoni. El dimoni adb està implementat en C i es troba a l'espai d'usuari d'Android. El dimoni està facilitat pel framework USB d'Android, UsbDeviceManager
i UsbDebuggingManager
.
El mode de comunicació entre el client i el servidor és un sòcol TCP. El servidor escolta en un port, al qual el client ha d'enviar una sol·licitud. La sol·licitud conté un camp inicial de 4 bytes en ASCII i una càrrega útil. La càrrega útil comença amb la paraula host, per indicar que s'ha d'enviar al servidor. Aleshores, el servidor pot respondre amb OK o FAIL per indicar l'estat, combinat amb una càrrega útil i una longitud opcionals.[27]
Els missatges enviats des del servidor consisteixen en una capçalera de 24 bytes de llarg, amb els camps següents: [28]
0xFFFFFFFF