27/07/2023
Android Debug Bridge, más conocido como ADB, es una herramienta de línea de comandos extraordinariamente versátil que te permite establecer una comunicación profunda con tu dispositivo Android. Desde la instalación y depuración de aplicaciones hasta la ejecución de comandos avanzados, ADB abre un mundo de posibilidades para desarrolladores y usuarios con ganas de explorar más allá de lo convencional. Este artículo te guiará a través de los pasos esenciales para activar y utilizar el modo ADB, tanto por conexión USB como inalámbrica, y te proporcionará una visión detallada de sus funcionalidades más útiles.

ADB no es solo una herramienta, es un programa cliente-servidor compuesto por tres elementos clave que trabajan en conjunto para facilitar esta comunicación. Entender estos componentes es el primer paso para dominar ADB:
- Un cliente: Es el componente que envía los comandos. Se ejecuta en tu máquina de desarrollo (ordenador). Puedes invocarlo desde cualquier terminal de línea de comandos.
- Un daemon (adbd): Es un proceso en segundo plano que se ejecuta en cada dispositivo Android (teléfono, tablet, emulador) y es el encargado de ejecutar los comandos que recibe.
- Un servidor: Este componente se encarga de gestionar la comunicación entre el cliente y el daemon. Se ejecuta también como un proceso en segundo plano en tu máquina de desarrollo.
ADB se incluye de forma estándar en el paquete de herramientas de la plataforma del SDK de Android. Si deseas obtenerlo de forma independiente, puedes descargar el paquete 'Android SDK Platform Tools'.
- ¿Cómo Funciona ADB?
- Habilitar la Depuración USB en tu Dispositivo Android
- Conexión Inalámbrica (Wi-Fi) con ADB
- Conexión Inalámbrica con Conexión USB Inicial (Android 10 y versiones anteriores)
- Comandos ADB Esenciales y su Uso
- Utilidades Avanzadas de Shell con ADB
- Backends de ADB
- Preguntas Frecuentes (FAQs)
¿Cómo Funciona ADB?
Cuando inicias un cliente ADB, lo primero que hace es verificar si ya existe un proceso del servidor ADB en ejecución. Si no lo encuentra, lo inicia. Una vez activo, el servidor se vincula al puerto TCP 5037 local y permanece a la escucha de comandos enviados por los clientes ADB. Es importante destacar que todos los clientes ADB utilizan este puerto específico (5037) para comunicarse con el servidor.
Posteriormente, el servidor establece conexiones con todos los dispositivos Android que se encuentran en ejecución. Para localizar emuladores, escanea un rango de puertos impares (5555 a 5585), que es el utilizado por los primeros 16 emuladores. Cada emulador emplea un par de puertos secuenciales: un puerto par para las conexiones de consola y un puerto impar para las conexiones ADB. Por ejemplo:
- Emulador 1, consola: 5554
- Emulador 1, ADB: 5555
- Emulador 2, consola: 5556
- Emulador 2, ADB: 5557
Y así sucesivamente. Una vez que el servidor ha establecido estas conexiones, ya puedes utilizar los comandos ADB para interactuar con tus dispositivos. Gracias a que el servidor gestiona las conexiones y maneja los comandos de múltiples clientes ADB, tienes la capacidad de controlar cualquier dispositivo desde cualquier cliente o incluso a través de un script.
Habilitar la Depuración USB en tu Dispositivo Android
Para poder utilizar ADB con un dispositivo conectado mediante USB, es fundamental habilitar la Depuración USB en la configuración del sistema de tu dispositivo. En versiones de Android 4.2 (API nivel 17) y superiores, la pantalla de 'Opciones para desarrolladores' está oculta por defecto. Aquí te explicamos cómo hacerla visible y activar la depuración USB:
- Acceder a 'Opciones para desarrolladores':
Dirígete a 'Ajustes' (o 'Configuración') en tu dispositivo Android.
Busca 'Acerca del teléfono' (o 'Acerca del dispositivo', 'Información de software').
Localiza el 'Número de compilación' (o 'Versión de la compilación', 'Número de versión').
Toca repetidamente (generalmente 7 veces) sobre 'Número de compilación' hasta que aparezca un mensaje indicando que '¡Ya eres desarrollador!' o 'Las opciones para desarrolladores están activadas'. - Habilitar 'Depuración USB':
Regresa al menú principal de 'Ajustes'.
Ahora verás una nueva opción llamada 'Opciones para desarrolladores' (o 'Developer options'). Accede a ella.
Dentro de 'Opciones para desarrolladores', busca y activa la opción 'Depuración USB' (o 'USB debugging'). - Conectar y verificar:
Conecta tu dispositivo Android a tu ordenador mediante un cable USB.
En tu ordenador, abre una terminal de línea de comandos y navega hasta el directorio donde tienes instaladas las herramientas de la plataforma del SDK de Android (normalmenteandroid_sdk/platform-tools/).
Ejecuta el comando:adb devices
Si la conexión es exitosa, verás tu dispositivo listado con el estado 'device'. Si es la primera vez que conectas el dispositivo a ese ordenador, el sistema de tu Android te mostrará un diálogo solicitando aceptar una clave RSA. Debes desbloquear el dispositivo y aceptar este diálogo para permitir la depuración. Este es un importante mecanismo de seguridad.
Conexión Inalámbrica (Wi-Fi) con ADB
A partir de Android 11 (API nivel 30) y versiones posteriores, es posible depurar tu aplicación de forma inalámbrica utilizando ADB, eliminando la necesidad de una conexión USB física. Para ello, asegúrate de cumplir con los siguientes requisitos previos:
- Tu estación de trabajo y tu dispositivo deben estar conectados a la misma red inalámbrica.
- Tu dispositivo debe ejecutar Android 11 (API nivel 30) o superior (o Android 13+ para TV y Wear OS).
- Debes tener la última versión de Android Studio instalada y las herramientas de plataforma del SDK actualizadas.
Método 1: Conexión Wi-Fi usando Android Studio
- Habilita las 'Opciones para desarrolladores' en tu dispositivo (como se explicó anteriormente).
- Abre Android Studio y selecciona 'Pair Devices Using Wi-Fi' desde el menú de configuraciones de ejecución. Aparecerá la ventana 'Pair devices over Wi-Fi'.
- En tu dispositivo, toca 'Depuración inalámbrica' y elige cómo emparejar:
- Con código QR: Selecciona 'Pair device with QR code' en tu dispositivo y escanea el código QR que se muestra en la ventana de Android Studio.
- Con código de vinculación: Selecciona 'Pair device with pairing code' en Android Studio. En tu dispositivo, selecciona 'Pair using pairing code' y anota el código de seis dígitos que se muestra. Luego, en Android Studio, ingresa ese código.
- Una vez emparejado, tu dispositivo aparecerá en la ventana de Android Studio y podrás desplegar tu aplicación en él.
Método 2: Conexión Wi-Fi usando la Línea de Comandos
- Habilita las 'Opciones para desarrolladores' y la 'Depuración inalámbrica' en tu dispositivo.
- En tu estación de trabajo, abre una ventana de terminal y navega hasta el directorio
android_sdk/platform-tools/. - En tu dispositivo Android, dentro de 'Depuración inalámbrica', selecciona 'Vincular dispositivo con código de sincronización'. Anota la dirección IP, el número de puerto y el código de vinculación de seis dígitos que se muestran.
- En la terminal de tu estación de trabajo, ejecuta:
adb pair ipaddr:port(reemplaza 'ipaddr' y 'port' con los valores de tu dispositivo). - Cuando se te solicite, ingresa el código de vinculación de seis dígitos.
Resolución de Problemas de Conexión Inalámbrica
Si experimentas dificultades para conectarte, considera lo siguiente:
- Red Wi-Fi: Algunas redes seguras (como las corporativas) pueden bloquear conexiones p2p. Intenta usar una red Wi-Fi diferente o conéctate inicialmente vía USB.
- Desconexión automática: ADB sobre Wi-Fi puede desactivarse si el dispositivo cambia de red o se desconecta. Vuelve a conectar.
- Dispositivo no se conecta después de emparejar: ADB utiliza mDNS para descubrir dispositivos. Si tu red no lo soporta, conéctate manualmente con
adb connect ip:port.
Conexión Inalámbrica con Conexión USB Inicial (Android 10 y versiones anteriores)
Para dispositivos con Android 10 (API nivel 29) o versiones anteriores, o como una opción inicial para versiones posteriores, puedes configurar la depuración inalámbrica siguiendo estos pasos:
- Conecta tu dispositivo Android y tu ordenador a la misma red Wi-Fi. Asegúrate de que el punto de acceso no tenga firewalls que bloqueen ADB.
- Conecta el dispositivo a tu ordenador con un cable USB.
- En la terminal de tu ordenador, configura el dispositivo para que escuche una conexión TCP/IP en el puerto 5555:
adb tcpip 5555 - Desconecta el cable USB del dispositivo.
- En tu dispositivo Android, busca su dirección IP. Generalmente en 'Ajustes' > 'Acerca del teléfono' (o 'tablet') > 'Estado' > 'Dirección IP'.
- En tu ordenador, conéctate al dispositivo usando su dirección IP:
adb connect device_ip_address:5555 - Confirma la conexión:
adb devices. Deberías ver tu dispositivo listado por su dirección IP y puerto.
Si la conexión se pierde, asegúrate de que ambos dispositivos sigan en la misma red Wi-Fi y vuelve a ejecutar el paso adb connect. Si no funciona, puedes reiniciar el servidor ADB con adb kill-server y empezar de nuevo.
Comandos ADB Esenciales y su Uso
Una vez que tu dispositivo está conectado, puedes empezar a emitir comandos ADB. Si tienes varios dispositivos conectados, debes especificar el objetivo. Puedes usar -s serial_number, o las opciones -e para emuladores y -d para dispositivos de hardware. Si no especificas un objetivo y hay varios dispositivos, ADB te devolverá un error.
Consulta de Dispositivos Conectados
El comando adb devices -l te muestra una lista detallada de todos los dispositivos conectados al servidor ADB, incluyendo su número de serie, estado y una breve descripción. Los estados posibles son:
offline: El dispositivo no está conectado a ADB o no responde.device: El dispositivo está conectado al servidor ADB.no device: No hay ningún dispositivo conectado.
Es importante tener en cuenta que, en ocasiones, un emulador podría no aparecer en la lista si el servidor ADB no estaba ejecutándose cuando se inició el emulador en un puerto específico. Para solucionar esto, siempre inicia el servidor ADB antes de usar el comando emulator.
Instalación de Aplicaciones
Puedes instalar archivos APK en un emulador o dispositivo conectado usando el comando adb install path_to_apk. Si se trata de un APK de prueba, debes incluir la opción -t. Para instalar múltiples APKs, usa install-multiple. Android Studio ya maneja este proceso automáticamente, así que raramente necesitarás usar este comando directamente si desarrollas con el IDE.
Redirección de Puertos
El comando adb forward te permite redirigir solicitudes de un puerto específico de tu ordenador a un puerto diferente en el dispositivo. Esto es útil para la depuración de red o para acceder a servicios en el dispositivo desde tu máquina de desarrollo. Por ejemplo: adb forward tcp:6100 tcp:7100.

Copia de Archivos
Los comandos adb pull y adb push son esenciales para transferir archivos entre tu ordenador y el dispositivo. A diferencia de install que es solo para APKs, estos comandos permiten copiar cualquier tipo de archivo o directorio.
- Para copiar del dispositivo a tu ordenador:
adb pull remote_path local_path - Para copiar de tu ordenador al dispositivo:
adb push local_path remote_path
Detener el Servidor ADB
En caso de que ADB no responda o necesites reiniciar el servidor, puedes usar el comando adb kill-server. El servidor se reiniciará automáticamente la próxima vez que ejecutes cualquier comando ADB.
Comandos de Shell
Una de las funcionalidades más potentes de ADB es la capacidad de ejecutar comandos directamente en el shell de Unix del dispositivo. Esto te permite interactuar con el sistema operativo Android a un nivel más bajo.
- Para ejecutar un solo comando:
adb shell shell_command - Para iniciar un shell interactivo:
adb shell(una vez dentro, puedes ejecutar múltiples comandos). Para salir, presiona Control+D o escribeexit.
Android ofrece la mayoría de las herramientas de línea de comandos de Unix habituales. Puedes listar las herramientas disponibles con adb shell ls /system/bin.
Utilidades Avanzadas de Shell con ADB
Dentro del shell de ADB, puedes acceder a herramientas más especializadas para gestionar componentes del sistema:
Administrador de Actividades (am)
La herramienta am te permite realizar diversas acciones relacionadas con las actividades y servicios del sistema, como iniciar una actividad, forzar la detención de un proceso o modificar propiedades de la pantalla.
Sintaxis: adb shell am command [options]
Algunos comandos útiles de am:
| Comando | Descripción |
|---|---|
start [options] intent | Inicia una actividad especificada por un intent. Útil para probar cómo se lanza tu app. |
force-stop package | Fuerza la detención de todos los procesos asociados a un paquete de aplicación. |
kill-all | Cierra todos los procesos en segundo plano que son seguros de cerrar. |
broadcast [options] intent | Emite un intent de transmisión (broadcast). |
display-size width x height | Anula el tamaño de la pantalla del dispositivo para pruebas de interfaz de usuario. Ejemplo: am display-size 1280x800. |
display-density dpi | Anula la densidad de píxeles de la pantalla. Ejemplo: am display-density 480. |
Administrador de Paquetes (pm)
La herramienta pm te permite realizar acciones y consultas sobre los paquetes de aplicaciones instalados en el dispositivo.
Sintaxis: adb shell pm command [options]
Algunos comandos útiles de pm:
| Comando | Descripción |
|---|---|
list packages [options] filter | Imprime todos los paquetes instalados, con opciones para filtrar por estado o tipo. |
install [options] path | Instala un paquete APK en el sistema. Opciones como -r (reinstalar), -t (APK de prueba), --user. |
uninstall [options] package | Desinstala un paquete. La opción -k mantiene los datos y el caché. |
clear package | Elimina todos los datos asociados a un paquete de aplicación. |
grant package_name permission | Otorga un permiso específico a una aplicación. |
revoke package_name permission | Revoca un permiso específico de una aplicación. |
Administrador de Políticas del Dispositivo (dpm)
La herramienta dpm es útil para desarrollar y probar aplicaciones de administración de dispositivos, permitiéndote controlar la aplicación de administración activa o cambiar los datos de estado de una política.
Sintaxis: adb shell dpm command [options]
Algunos comandos útiles de dpm:
| Comando | Descripción |
|---|---|
set-active-admin [options] component | Establece un componente como administrador activo. |
set-profile-owner [options] component | Establece un componente como administrador activo y su paquete como propietario del perfil. |
set-device-owner [options] component | Establece un componente como administrador activo y su paquete como propietario del dispositivo. |
remove-active-admin [options] component | Deshabilita un administrador activo. |
Tomar una Captura de Pantalla
El comando screencap es una utilidad de shell sencilla para tomar una captura de la pantalla del dispositivo.

Ejemplo: adb shell screencap /sdcard/screen.png
Luego, puedes descargarla a tu ordenador: adb pull /sdcard/screen.png
Grabar un Video de la Pantalla
La utilidad screenrecord permite grabar la pantalla de dispositivos Android 4.4 (API nivel 19) y superiores en un archivo MPEG-4. La grabación se detiene automáticamente a los tres minutos o con Control+C.
Sintaxis: adb shell screenrecord [options] filename
Ejemplo: adb shell screenrecord /sdcard/demo.mp4
Luego, descarga el video: adb pull /sdcard/demo.mp4
Limitaciones:
- No graba audio.
- No disponible para dispositivos Wear OS.
- La rotación de la pantalla durante la grabación no es compatible.
| Opción | Descripción |
|---|---|
--size width x height | Establece el tamaño del video (ej: 1280x720). |
--bit-rate rate | Fija la tasa de bits del video en megabits por segundo (por defecto 20Mbps). |
--time-limit time | Fija el tiempo máximo de grabación en segundos (por defecto y máximo 180 segundos). |
--rotate | Rota la salida 90 grados (experimental). |
Leer Perfiles ART para Aplicaciones
A partir de Android 7.0 (API nivel 24), el Android Runtime (ART) recopila perfiles de ejecución para optimizar el rendimiento de las aplicaciones. Puedes examinar estos perfiles para entender qué métodos se ejecutan con frecuencia.
Para generar un perfil de texto: adb shell cmd package dump-profiles package_name
Para recuperar el archivo: adb pull /data/misc/profman/package_name.prof.txt (requiere acceso root).
Restablecer Dispositivos de Prueba
Para desarrolladores que prueban en múltiples dispositivos, el comando adb shell cmd testharness enable (Android 10+) permite realizar un restablecimiento de fábrica, eliminando datos de usuario y configurando el dispositivo para pruebas rápidas. Esto incluye la copia de seguridad de la clave RSA de depuración y la desactivación de asistentes de configuración inicial, pantalla de bloqueo, alertas de emergencia, sincronización automática y actualizaciones del sistema, entre otros.
Bases de Datos SQLite
El comando sqlite3 inicia el programa de línea de comandos para examinar bases de datos SQLite en el dispositivo. Puedes usar comandos como .dump para imprimir el contenido de una tabla o .schema para ver la declaración SQL CREATE. Para acceder a una base de datos SQLite, generalmente necesitas acceso root al sistema de archivos (ej: en un emulador).
Ejemplo: adb shell sqlite3 /data/data/com.example.app/databases/rssitems.db
Backends de ADB
ADB utiliza diferentes "backends" para interactuar con el hardware y la red:
Backends USB
El servidor ADB puede interactuar con la pila USB a través del backend nativo del sistema operativo (Windows, Linux, macOS) o el backend libusb. Algunas características avanzadas, como la detección de velocidad USB, solo están disponibles con libusb. La elección se puede influenciar con la variable de entorno ADB_LIBUSB. A partir de ADB v34, libusb es el predeterminado en todos los sistemas operativos excepto Windows.
Backends mDNS
ADB puede usar el protocolo mDNS (multicast DNS) para conectarse automáticamente a dispositivos y servidores. Incluye dos backends: Bonjour (mdnsResponder de Apple) y Openscreen. Por defecto, ADB usa Bonjour. Puedes cambiarlo con la variable de entorno ADB_MDNS_OPENSCREEN.
Modo Burst (a partir de ADB 36.0.0)
El Modo Burst es una característica experimental que permite a ADB enviar paquetes a un dispositivo antes de que el dispositivo haya respondido al paquete anterior. Esto aumenta significativamente el rendimiento de ADB al transferir archivos grandes y reduce la latencia durante la depuración. Está deshabilitado por defecto y se puede activar mediante la configuración.

Preguntas Frecuentes (FAQs)
¿Qué es el modo ADB en Samsung o cualquier otro Android?
ADB (Android Debug Bridge) es una herramienta de línea de comandos que permite la comunicación entre tu ordenador y cualquier dispositivo Android (incluyendo Samsung) para realizar tareas de desarrollo, depuración y control avanzado del sistema.
¿Cómo activar la depuración USB con ADB?
Debes habilitar las 'Opciones para desarrolladores' en tu dispositivo tocando varias veces el 'Número de compilación' en la información del software. Una vez activadas, entra en 'Opciones para desarrolladores' y activa la 'Depuración USB'. Luego, conecta tu dispositivo al ordenador y acepta el diálogo de clave RSA.
¿Puedo usar ADB de forma inalámbrica?
Sí, a partir de Android 11, puedes conectar tu dispositivo a ADB de forma inalámbrica a través de Wi-Fi, ya sea utilizando Android Studio o la línea de comandos con un código QR o de vinculación. Para versiones anteriores, se requiere una conexión USB inicial para configurar la depuración TCP/IP.
¿Por qué mi dispositivo no aparece al ejecutar 'adb devices'?
Las razones comunes incluyen no haber habilitado la depuración USB, problemas con los controladores USB, el cable USB defectuoso, que el servidor ADB no esté corriendo (usa adb kill-server y vuelve a intentarlo), o que el dispositivo no haya aceptado la clave RSA de depuración.
¿Cuál es la diferencia entre 'adb pull' y 'adb push'?adb pull se utiliza para copiar archivos desde tu dispositivo Android hacia tu ordenador. Por el contrario, adb push se utiliza para copiar archivos desde tu ordenador hacia tu dispositivo Android.
¿Es seguro usar ADB?
Sí, es seguro si se usa correctamente. El mecanismo de seguridad de la clave RSA asegura que los comandos ADB solo se puedan ejecutar después de que hayas desbloqueado tu dispositivo y aceptado la conexión desde un ordenador específico, protegiendo así tu dispositivo de accesos no autorizados.
Dominar ADB te proporcionará un control sin precedentes sobre tus dispositivos Android, facilitando enormemente el desarrollo de aplicaciones, la depuración de errores y la personalización avanzada. Con esta guía, tienes las bases para empezar a explorar todo el potencial de esta poderosa herramienta.
Si quieres conocer otros artículos parecidos a ADB: Conéctate y Controla tu Dispositivo Android puedes visitar la categoría Cálculos.
