Diferencia entre revisiones de «Depurar aplicación Android sobre dispositivo real en GNU/Linux»

De Wiki de BandaAncha.eu
Saltar a: navegación, buscar
(Activación del modo Depuración USB en el dispositivo Android)
(Activación del modo Depuración USB en el dispositivo Android)
Línea 32: Línea 32:
 
** 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 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 marcar "Depuración USB".
+
En él activamos la opción "Depuración USB" (USB debugging).
  
 
=Declaración de la aplicación en desarrollo como depurable=
 
=Declaración de la aplicación en desarrollo como depurable=

Revisión del 04:05 11 feb 2013

Obtención del identificador del fabricante (idVendor) del dispositivo Android

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

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

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

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

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