viernes, 10 de agosto de 2012

Como conectar un teléfono Android en Ubuntu a Eclipse: adb devices no permission

Cuando estamos programando en Eclipse y queremos probar las aplicaciones en nuestro teléfono Android, tenemos 2 opciones, enviarnos los .apk por email e ir probándolos, cosa que es un coñazo, o tenemos otra segunda opción que es conectar el teléfono mediante el cable. Esta opción es mucho más eficaz ya que nos permite "debuguear" incluso.

Cuando conectamos el teléfono al PC, lo primero que tenemos que hacer es activarlo en modo depuración desde Ajustes - Aplicaciones - Desarrollo - Permitir depuración de USB. 

Después desde nuestro directorio promt:/xxx/android-sdk-linux/platform-tools podemos usar el comando ./adb devices para ver que dispositvos tenemos conectados. Veremos algo como:
List of devices attached ?????????    no permissions
Por lo que seguimos sin tener acceso a nuestro teléfono. Para solucionar esto tenemos que irnos a  cd /etc/udev/rules.d/ y añadir en el fichero 51-android.rules el renglón:
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8",MODE="0666"

El idVendor cambia para cada uno de los distintos teléfonos, por lo que tendremos que buscar el que nos interese. Los que pongo son para Samsung Galaxy Ace. También he usado los del HTC Desiree, el idVendor es: 0bb4
Una vez hecho esto, volvemos  /platform-tools/ y reiniciamos el servicio con:
sudo ./adb kill-server
sudo ./adb start-server
Con esto, si ejecutamos de nuevo ./adb devices vermos algo como:
List of devices attached
S583058235733    device 
Y ya podemos probar nuestras aplicaciones directamente desde el Eclipse en el teléfono. Cuando pulsemos compilar veremos que tenemos el teléfono accesible para cargar en él.


Espero que os sirva ;-)

PD: se pueden hacer muchas cosas más con el comando adb. La información oficial en aquí

LIBRO RECOMENDADO PARA APRENDER ANDROID

Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: Android 2 Application Developement de Reto Meier




6 comentarios :

  1. Gracias!!! estuvo super la info :D y me funcionó a la perfección :) mi idVendor lo saqué de aquí http://wiki.cyanogenmod.com/wiki/Udev

    Otra vez, gracias :D

    ResponderEliminar
  2. Me alegro que te sirviera! Y gracias por la info de como sacar el idVendor. Un placer ;-)

    ResponderEliminar
  3. Lo que no entiendo es cuando dice desde nuestro directorio promt:/xxx/android-sdk-linux/platform-tools especifica más donde se pone en el móvil o ubuntu en el pc. ¿Pon un ejemplo real?

    Gracias.

    ResponderEliminar
  4. Tienes que tener instalado el SDK de Android en el ordenador donde estés conectando el teléfono y lo que indico es el directorio del ordenador donde el SDK ha sido instalado.
    Saludos

    ResponderEliminar
  5. Gracias por el artículo. Además me ha servido para conocer tu blog, y ya te sigo.
    Saludos

    ResponderEliminar