Cómo utilizar ADB

De HTCMania Wiki

ADB son las siglas de Android Debug Bridge, y es una herramienta que se utiliza para depurar aplicaciones en desarrollo o para "cacharrear" internamente desde el PC.

Para poder utilizar ADB será necesario tener instalado el Android SDK, o bien disponer del ejecutable. Del siguiente enlace puedes descargar y configurar el Android SDK (solo es necesario realizar el punt Preparando el entorno de programación).

Las siguientes instrucciones pueden verse escribiendo adb --help, a continuación traduciré las que pueden ser de uso más común. A pesar de que el indice pueda parecer muy largo, no es necesario saber todos estos comandos debido a que hoy día la mayor parte de estos pueden substituirse por aplicaciones desde el propio terminal, aunque algunos pueden venirnos bien en cualquier momento.

Contenido

Funciones más comunes

Mostrar todos los terminales conectados

Si disponemos de varios terminales o hacemos pruebas con terminales físicos y con terminales del emulador de Android, así podemos obtener una lista de los disponibles.

adb devices

Ejemplo:

$ adb devices
List of devices attached 
emulator-5554	device

Remontar la partición /system para lectura/escritura

adb remount

Ejemplo:

$ adb remount
remount succeeded

Reiniciar el terminal

adb reboot

Ejemplo:

$ adb reboot

Reiniciar el terminal y acceder al BootLoader

adb reboot bootloader

Ejemplo:

$ adb reboot bootloader

Reiniciar el terminal y acceder al Recovery

adb reboot recovery

Ejemplo:

$ adb reboot recovery

Copiar archivos o directorios del PC al terminal

Para enviar archivos del PC al terminal, ya sea en la memoria interna de este o en la tarjeta SD, para ello variaremos la <ruta remota> la cual siempre deberemos especificar desde / (directorio raíz). La <ruta local> puede utilizarse directa el nombre de archivo en caso que se encuentre en la propia carpeta que ejecutaremos el comando y adb se encuentre localizable a través del PATH del sistema.

adb push <ruta local> <ruta remota>

Ejemplo:

$ adb push taito.BustAMove.apk /sdcard

Copiar archivos o directorios del terminal al PC

Para extraer archivo del terminal al PC, la <ruta remota> debe especificarse desde / (directorio raíz).

adb pull <ruta remota> <ruta local>

Ejemplo:

$ adb pull /sdcard/taito.BustAMove.apk backup/

Acceder a la consola del terminal

Accedemos a la consola del terminal, como si usáramos "Better Terminal Emulator" o similares, pero desde el propio PC.

adb shell

Ejemplo:

$ adb shell

Ejecutar comandos en la consola del terminal

Accedemos a la consola del terminal y ejecutamos un comando en concreto.

adb shell <comando>

Ejemplo:

$ adb shell ls

Enviar e instalar aplicaciones

Puede sernos útil si queremos actualizar alguna aplicación que no se encuentre en el Market.

adb install <archivo>

Ejemplo:

$ adb install taito.BustAMove.apk

Enviar y reinstalar aplicaciones manteniendo los datos de la aplicación

Puede sernos útil si queremos actualizar alguna aplicación que no se encuentre en el Market y queremos mantener sus datos.

adb install -r <archivo>

Ejemplo:

$ adb install -r taito.BustAMove.apk

Desinstalar aplicaciones

adb uninstall <paquete>

Ejemplo:

$ adb uninstall taito.BustAMove.apk

Desinstalar aplicaciones manteniendo los datos de la aplicación

adb uninstall -k <paquete>

Comando directo al dispositivo con numero de serie especificado

Si queremos ejecutar algún comando específico en un terminal concreto. Solo resulta útil si hacemos uso de varios terminales.

adb -s <numero de serie>

Ejemplo:

$ adb -s emulator-5554

Comando directo al único terminal conectado por USB

Útil si utilizamos un terminal físico y otro en el emulador, para distinguir directamente el terminal físico.

adb -d

Ejemplo:

$ adb -d

Comando directo al único emulador ejecutandose

Útil si utilizamos un terminal físico y otro en el emulador, para distinguir directamente el terminal emulado.

adb -e

Ejemplo:

$ adb -e

Sincronicar carpeta del PC al terminal

Para sincronizar carpetas, puede ser útil si van a modificarse muchos archivos y/o carpetas.

adb sync [ <directorio> ]

Ejemplo:

$ adb sync directorio_sincronizado/

Notas: adb sync [ <directorio> ]

 <directorio_local> puede interpretarse de diferentes maneras:
  • Si el <directorio> no se ha especificado, las particiones /system y /data serán actualizadas.
  • Si es /system o /data, solo se actualizará la partición correspondiente.


Funciones menos comunes

Muestra la ayuda de adb

adb help

Hacer que adb espere hasta encontrar un terminal

adb wait-for-device

Iniciar servidor de adb

adb start-server

Matar el servidor de adb

adb kill-server

Mostrar el estado de adb

adb get-state

Mostrar el numero de serie

adb get-serialno

Mostrar el estado de un terminal constantemente

adb status-window

Ver los registros del terminal

adb logcat [ <filtrar-especifico> ]

Devuelve toda la información del terminal

adb bugreport

Listar PID's de los procesos de un transporte JDWP

adb jdwp

Reiniciar el servidor de adb con permisos de administrador

adb root

Reiniciar el servidor de adb escuchando el USB

adb usb                      - restarts the adbd daemon listening on USB

Reiniciar el servidor de adb escuchando el TCP

adb tcpip <puerto>

Ejecutar PPP por USB

adb ppp <tty> [parámetros]

Conectar a un terminal a través de TCP/IP

adb connect <host>:<puerto>

Desconectar a un terminal a través de TCP/IP

adb disconnect <host>:<puerto>

Flasear una imagen

Útil si la utilidad flash_image no funciona directamente desde el ordenador.

adb shell flash_image tipo /ruta/imagen.img

Ejemplo:

 adb shell flash_image recovery /sdcard/recovery.img 

Cómo utilizar ADB gráficamente

Actualmente ya disponemos de interficies gráficas para ADB, aquí van algunas de las conocidas:

Donar.gif
Si el tutorial te ha sido útil, considera hacer una donación al autor
Herramientas personales