gentoo linux, java, software libre y otras hierbas
mar, 23 2010 - 2:27 am

Manipulación de smartphones con Android desde la consola de Linux

En esta entrada aprenderemos a manipular dispositivos móviles que tengan Android instalado a través de la consola en Linux. Esto es útil al momento de instalar aplicaciones, navegar entre los directorios del equipo, depurar las base de datos, etc. Además, no hay ningún fabricante de móviles (al menos que yo conozca) que proporcione herramientas para controlar los dispositivos desde Linux. En mi caso, tengo un HTC Tattoo el cual solo puede ser manipulado desde Windows usando HTC Sync :cry:

Con el HTC Tattoo y la mayoría de los smartphones con Android es posible usar la opción de almacenamiento en Linux sin ningún tipo de configuración especial. Simplemente se conecta el equipo, se ejecuta la aplicación Connect to PC y se selecciona Disk Drive con lo cual podremos acceder a la memoria SD. Pero, para realizar operaciones avanzadas necesitaremos seguir estos pasos:

1. Instalar el SDK de Android

La instalación y configuración de Android se explica en la anterior entrada: Introducción a la programación con Android.

2. Configurar el path del SDK

Para trabajar cómodamente con los comandos que nos proporciona el SDK, ejecutaremos el siguiente comando (reemplazando la ruta del SDK por la tuya):

echo "export PATH=$PATH:/ruta/del/sdk/tools"
source ~/.bashrc

3. Instalar la máquina virtual de Java

Recomiendo usar los instaladores de la página de Sun. También puedes hacerlo desde los repositorios de tu distro.

4. Crear una regla en udev

Debemos ahora crear una regla en udev para que al momento de conectar el dispositivo lo podamos usar con el SDK de Android. Así que creamos y editamos como root el archivo /etc/udev/rules.d/99-android.rules y dentro ponemos:

SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", SYMLINK+="android_adb", MODE="0666"

Note que estoy usando el idVendor 0bb4 que es el correspondiente al HTC Tattoo. Para conocer el de su smartphone, debe conectarlo y usar el comando lsusb.

5. Conectarse al dispositivo

Conectamos el smartphone (sí, tenía que estar desconectado :D ), y seleccionamos la opción HTC Sync… por supuesto, vamos a obtener un error que dice que no encontró el HTC Sync en el PC… lo bueno es que con esto se activa el modo depuración del USB, el cual nos permitirá conectarnos desde la terminal de Linux. Primero debemos mirar si se reconoce el dispositivo ejecutando este comando:

adb devices

Si todo sale bien, veremos algo como esto:

* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
HT9A3LG11652    device

HT9A3LG11652 es el nombre de mi dispositivo; este nombre nos permitirá referenciarlo al momento de ejecutar comandos sobre el desde CLI de Linux. Veamos qué podemos hacer ahora que tenemos el smartphone conectado…

adb -s HT9A3LG11652 shell #ejecutar una shell
adb -s HT9A3LG11652 push archivo_local archivo_destino #copiar un archivo al smartphone
adb -s HT9A3LG11652 pull archivo_remoto archivo_local #copiar un archivo desde el smartphone
adb -s HT9A3LG11652 shell rm -r /system/sd/archivo #borrar archivos del smartphone
adb -s HT9A3LG11652 install nombre_aplicacion.apk #instalar aplicaciones
adb -s HT9A3LG11652 uninstall nombre.paquete #desinstalar aplicaciones

Eso es todo por ahora… cualquier duda, comentario o sugerencia es bienvenido. ¡Hasta la próxima!

10 Comentarios | deja el tuyo

Un enlace entrante

9 Comentarios en “Manipulación de smartphones con Android desde la consola de Linux”

  1. jmarfilb dice:

    Buenas.

    Llevo suscrito al blog desde hace tiempo, y me encuentro con esta entrada… yo tambien tengo un HTC Tattoo… te mueves por htcmania?

  2. daival dice:

    Muy bueno, aunque te añado algo. No es necesario poner lo de -s y el id de tu dispositivo. Supongo que eso sera si tienes varios conectados a tu pc

  3. RT @dadotres: maneja tu android desde la consola en linux http://bit.ly/dcQqjE

  4. Brian Urban dice:

    RT: @casidiablo: Manipulación de smartphones con Android desde la consola de Linux http://casidiablo.in/a84lg9

  5. Manipulación de smartphones con Android desde la consola de Linux » http://casidiablo.net/android-desde-linux/

  6. jackl007 dice:

    Hola Christhian, y como seria para poderlo conectarlo, pero desde windows?
    como es eso en windows para crear la regla??
    porque si conecto mi dispositivo y coloco adb devices, me dice que no hay nada… pero si me detecta el del emulador.

    Como hacerlo en windows?

    SALUDOS

¡Déjanos tu comentario!