jueves, 3 de enero de 2013

Ejecutando app Android desde Eclipse en el móvil

Tengo un Sony Ericsson Xperia x8 con Android 2.1

He decidido correr mis aplicaciones también en el móvil, ya que vamos de bajada en la Universidad, y ya se hace necesario ver avances significativos en el aprendizaje.

Para poder ejecutar la app en el móvil es necesario seguir los siguientes pasos:

En el post anterior sobre Android vimos como era la Estructura y ejecución en el simulador de un proyecto Android. En aquel caso ejecutamos la aplicación HelloAndroid en el simulador, en este caso, sin embargo, vamos a ver como ejecutar nuestra aplicación directamente en el móvil.
Lo primero que debemos hacer es decirle al móvil que permita ejecutar aplicaciónes de "Orígenes desconocidos", es decir, aplicaciones que no sean del Market. Para ello abrimos el menú y accedemos a "Ajustes->Aplicaciones" y marcamos la opción "Orígenes Desconocidos".


Por otro lado debemos activar la "Depuración USB". Para accedemos al menú "Ajustes->Aplicaciones->Desarrollo" yactivamos la opción "Depuración USB". Con esto tendríamos el móvil listo para nuestras aplicaciones.


Si abrimos Eclipse e intentamos ejecutar la aplicación (con el móvil conectado por usb al ordenador), botón derecho sobre el proyecto "Run As-> Android Application", veremos una ventana como la siguiente:



En la parte de arriba vemos los dispositivos físicos conectados y abajo los virtuales. Como veis no detecta correctamente mi HTC Desire. Debemos hacer algunos cambios en el sistema operativo para poder ejecutar desde eclipse en moviles Android en Ubuntu 10.10.
Accedemos a "/etc/udev/rules.d/" y creamos el archivo "70-android.rules" desde un terminal:
sudo touch 70-android.rules

Nota 1: Si no estás usando Ubuntu 10.10 tendrás que sustituir el "70" por el número que tengan el resto de archivos de reglas en "/etc/udev/rules.d/".

Abrimos el archivo:

sudo gedit 70-android.rules


escribimos la siguiente línea:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"


Nota 2: Tened cuidado al copiar la línea, ya que es posible que las comillas no se copien bien y no conseguirás que funcione.
Nota 3: El número "0bb4" es para móviles HTC, tendrás que comprobar cual es el número para tu marca en la página de Google "USB Vendor IDs" y sustituirlo por el tuyo.

Cambiamos los permisos para el archivo que hemos creado:

sudo chmod a+rx /etc/udev/rules.d/70-android.rules


Reiniamos el ordenador y ya tendríamos todo listo para ejecutar nuestras aplicaciones desde Eclipse en un móvil Android desde Ubuntu 10.10.
Si ejecutamos en un terminal lo siguiente:

adb devices


Nota 4: En vez de reiniciar el ordenador puedes reiniciar "adb" y debería funcionar, pero no lo he comprobado.

Ahora si ya deberíamos poder ver nuestro móvil:


Volvemos a Eclipse y ejecutamos la aplicación, tendremos "HelloAndroid" en nuestro móvil

El contenido anterior está en: http://www.nosolounix.com/2010/12/ejecutar-desde-eclipse-en-movil-android.html

Pero para que a mí me funcionara en mi Ubuntu 12.04 tuve que seguir las siguientes instrucciones:


sudo adb kill-server
sudo adb start-server
adb devices
Cuya fuente es: http://forum.xda-developers.com/showthread.php?t=732337

Excelente cuadro de códigos: http://developer.android.com/tools/device.html#VendorIds

Estoy feliz porque ya funciona.