Depurar aplicación Android sobre dispositivo real en GNU/Linux

De BandaAncha.st
Saltar a: navegación, buscar

Obtención del identificador del fabricante (idVendor) del dispositivo Android[editar]

Conectamos el dispositivo Android al PC por USB y en GNU/Linux, como root, ejecutamos lo siguiente en un terminal:

# dmesg

Al final mostrará una información como la siguiente donde aparece el idVendor del dispositivo:

[64100.211248] usb 3-1: new high-speed USB device number 3 using xhci_hcd
[64100.223449] usb 3-1: New USB device found, idVendor=1004, idProduct=61c5

Creación del fichero "/etc/udev/rules.d/51-android.rules" en GNU/Linux[editar]

Como root, creamos el fichero "/etc/udev/rules.d/51-android.rules".

# nano /etc/udev/rules.d/51-android.rules

donde, para cada dispositivo que queramos que sea reconocido en el modo depuración, introducimos una línea con el siguiente formato:

SUBSYSTEM=="usb", ATTR{idVendor}=="<id_fabricante>", MODE="0666", GROUP="plugdev"
  • MODE: Permisos sobre el dispositivo en formato UNIX. Con 0666 damos permisos de lectura y escritura para todos.
  • GROUP: Grupo UNIX que le asignamos al dispositivo. Le hemos asignamos el grupo "plugdev".

Para el idVendor que obtuvimos en el ejemplo de arriba, 1004, la línea quedaría así:

SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"

Como root, le damos a dicho fichero permisos de lectura para todos:

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

Activación del modo Depuración USB en el dispositivo Android[editar]

Con el dispositivo Android desconectado del PC, vamos al menú de desarrollo:

  • En S.O. 3.2 y anteriores: Ajustes -> Aplicaciones -> Desarrollo (Settings > Applications > Development)
  • En S.O. 4.0 y siguientes: Ajustes -> Opciones de desarrollador (Settings > Developer options)
    • En S.O. 4.2 y siguientes: Ese menú está oculto por defecto. Para que se muestre debemos hacer lo siguiente: Ir a "Ajustes -> Acerca del teléfono" (Settings > About phone) y pulsar sobre "Número de compilación" (Build number) 7 veces. Ahora ya se mostrará el menú indicado anteriormente.

En él activamos la opción "Depuración USB" (USB debugging).

Declaración de la aplicación en desarrollo como depurable[editar]

Nota: Si ejecutamos nuestra aplicación directamente sobre un IDE como Eclipse, no hace falta este paso ya que el propio entorno se encarga de activar dicha opción.

En el fichero "AndroidManifest.xml", añadimos al elemento "<application>" lo siguiente:

android:debuggable="true"

Uso del modo depuración USB[editar]

Conectamos el dispositivo Android al PC vía USB y ejecutamos la aplicación en desarrollo indicando el uso de nuestro dispositivo Android. Con ello se transferirá y ejecutará la aplicación en desarrollo en él.

En el caso del IDE Eclipse configurado con el SDK de Android, ejecutamos la aplicación en desarrollo y nos aparecerá como siempre una ventana para seleccionar el dispositivo Android, real o virtual, sobre el cual ejecutar la aplicación. En este caso nos aparecerá para seleccionar nuestro dispositivo Android, indicandonos su versión del S.O.. Lo seleccionamos y le damos a OK.

Fuentes[editar]