Android Debug Bridge (ADB) en Fedora - Updated

Publicado el mié 23 febrero 2011

Si tenemos un teléfono con Android y somos algo curioso es probable que deseemos en algún momento usar el ADB para jugar.
Para poder usarlo debemos tener instalado el SDK de Android con Platform tools y luego activar el modo debug en el teléfono. Para activar el modo debug debemos ir a Ajustes -> Aplicaciones -> Desarrollo y marcamos Depuración USB.

Conectando el teléfono vía USB podremos ejecutar como root en una termnal:

/path_hasta_sdk/platform-tools/adb devices
List of devices attached
HT069P900168 device

Si ejecutamos el mismo comando como usuario normal deberíamos obtener:

/path_hasta_sdk/platform-tools/adb devices
List of devices attached
???????????? no permissions

Los pasos siguientes son para lograr que el ADB pueda usarse con cualquier usuario del sistema.

  1. Primero debemos identificar el teléfono, para ello ejecutamos un lsusb (acá destaco con rojo el idVendor):

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 009: ID 18d1:4e12 Google Inc. Nexus One Phone (Debug)
Bus 001 Device 003: ID 0bda:0158 Realtek Semiconductor Corp. USB 2.0 multicard reader

  1. Creamos el archivo /etc/udev/rules.d/51-android.rules con el siguiente contenido (Debemos usar el idVendor, en rojo, que nos arroje el paso anterior y en OWNER el nombre del usuario que usará adb).

~~SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", MODE="0666"~~
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", SYMLINK+="android_adb", OWNER="username"

  1. Cambiamos permisos:

chmod a+r /etc/udev/rules.d/51-android.rules

  1. Recargamos las reglas de UDEV:

udevadm control --reload-rules

  1. Reconectamos el teléfono y volvemos a probar

Ahora que ya tenemos acceso completo al ADB podemos comenzar a jugar con algunos comandos básicos:

  • Instalar un programa (archivo .apk)

./adb install Archivo.apk
822 KB/s (40063 bytes in 0.047s)
pkg: /data/local/tmp/Archivo.apk

  • Acceder a la consola y ejecutar comandos directos

./adb shell

  • Reiniciar el dispositivo

./adb reboot

  • Reiniciar el dispositivo en el bootloader

./adb reboot-bootloader

  • Colocar un archivo/carpeta en el dispositivo

./adb push origen destino

  • Extraer un archivo/carpeta desde el dispositivo

./adb pull origen destino