Ubuntu no detecta mi dispositivo Android


34

Soy nuevo en android. Acabo de descargar e instalar Android SDK. Ahora, cuando ejecuto la aplicación desde eclipse, mi dispositivo no se detecta. Busqué en Google y fui criado con esto como mi solución, pero eso tampoco funcionó.

Aquí está el 51-android.rules

SUBSYSTEMS=="usb", ATTR{idProduct}=="0bb4",  ATTR{idProduct}=="0c03", MODE="0666", GROUP="plugindev", OWNER="<username>"

Después de eso reinicié mi computadora portátil y ejecuté este comando:

username@laptopname:~/Android/adt-bundle/sdk/platform-tools$ adb devices

La salida que obtengo es:

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
????????????    no permissions

EDITAR

crazydeveloper@crazydeveloper:~$ lsusb
Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.) 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b337 Chicony Electronics Co., Ltd 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/004/
ls: cannot access /dev/bus/usb/004/: No such file or directory
crazydeveloper@crazydeveloper:~$ 

Editar: 2

Después de la respuesta enviada, aquí está el resultado que obtuve:

crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/002
total 0
crw-rw-r--  1 root root    189, 128 May  7 09:45 001
crw-rw-r--+ 1 root root    189, 129 May  7 09:45 002
crw-rw-rw-  1 root plugdev 189, 130 May  7 09:48 003

Estoy usando Micromax Canvas 2.2 A114 - Versión de Android 4.2.2

Por favor, ayúdame. Gracias.


2
¿La depuración USB está activada en Android?
Jon Hanna

Sí. Está encendido.
Saiyan Prince,


1
Debe ser SUBSISTEMA, singular.
Pakman

Respuestas:


42

OK, aquí están todos los pasos para que esto funcione. Tuve problemas con todas las respuestas que encontré en línea, pedazos en todas partes sin ningún orden determinado y sin una única solución de trabajo (con Android Studio, Jmonkey 3D y Ubuntu 14.04)

Si los dispositivos adb muestran el dispositivo Android como ????????? (sin permisos) siga estas instrucciones:

  1. crear archivo /etc/udev/rules.d/51-android.rules

    sudo gedit /etc/udev/rules.d/51-android.rules
    
  2. copie y pegue el contenido a continuación:

    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666", GROUP="plugdev"    
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666", GROUP="plugdev" 
    
  3. Ejecute el siguiente comando para cambiar los permisos de archivo:

    sudo chmod a+r /etc/udev/rules.d/51-android.rules
    
  4. conecta tu teléfono a través de usb y ejecuta el siguiente comando:

    lsusb
    

    Busque su (s) dispositivo (s) Ejemplo (Nexus 5):

    Bus 003 Dispositivo 074: ID 18d1 : 4ee7 Google Inc.

    Para Nexus 5 , la identificación del proveedor es 18d1 , la mía está en el bus " 003 ". Si no ve un cambio cuando conecta su dispositivo con lsusb , quizás su cable USB sea solo de carga.

  5. Ahora vuelva a cargar las reglas con los siguientes comandos:

    sudo udevadm control --reload-rules
    sudo service udev restart
    sudo udevadm trigger
    
  6. Verifique que el dispositivo ahora permita el acceso al grupo de usuarios de plugdev

    ls -l /dev/bus/usb/<bus number from step 4>
    

    Ejemplo:

    ls -l /dev/bus/usb/003
    crw-rw-rw- 1 root plugdev 189, 329 Jul  3 18:23 074
    
  7. ¡Ejecute dispositivos adb para confirmar que los permisos son correctos y disfrute!

Nota: si no ha creado el grupo plugdev y no le ha agregado su nombre de usuario (si se ha denegado el permiso, agregue los siguientes comandos "sudo"):

  1. Añadir grupo plugdev:

    groupadd plugdev
    
  2. Agregue su nombre de usuario al grupo plugdev (useradd -G {nombre de grupo} nombre de usuario):

    useradd -G plugdev billy
    
  3. Reinicie udev (es posible que deba cerrar sesión y volver a iniciar sesión para actualizar el grupo de usuarios):

    sudo service udev restart
    

@EvanCarrol: su edición se realiza mejor como paso 0 antes de comenzar, no en el medio (perdón por rechazar, pero allí está haciendo que la respuesta sea menos clara en lugar de más clara): /
Fabby

Esta respuesta funciona muy bien. Después de actualizar a 15.10, tengo que hacer esto después de cada reinicio. Funciona genial
Somos Borg

¿Puedo llamarlo Sexy Answer ... me alegraste el día, amigo ...
Tushar Pandey

5

Intente grupo en plugdevlugar de plugindev. Luego reinicie udev:

sudo udevadm control --reload-rules
sudo service udev restart

Si esto no funciona, averigüe exactamente dónde está conectado su dispositivo con lsusb. Luego verifique los permisos:

ls -l /dev/bus/usb/YOUR_USB_BUS_NO/

El hecho que lsusbnos dio:

Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.)

significa que su teléfono móvil está conectado al Bus 002 como un dispositivo 004. Por lo tanto, udev creó el objeto del dispositivo /dev/bus/usb/002/004.

Muéstranos los permisos del dispositivo con el comando:

ls -l /dev/bus/usb/002/004

Como solución temporal, puede hacer que el dispositivo sea legible / escribible con este comando (asegúrese de que su teléfono esté enchufado):

sudo chmod 666 /dev/bus/usb/002/004

Luego intente adb devicesnuevamente.

También noté que al final de la regla de udev tienes OWNER="<username>". En realidad lo reemplazaste OWNER="crazydeveloper", ¿no?

Tus permisos son un poco aceptables. udev recogió el dispositivo y configuró sus permisos en 666 y el grupo en plugdev. No estableció al propietario como un desarrollador loco por alguna razón, pero eso no es tan importante.

Asegúrese de ser miembro del grupo plugdev. Usa este comando:

sudo useradd -G plugdev crazydeveloper

Luego cierre la sesión, desconecte el móvil, vuelva a iniciar sesión, conéctelo e intente adb devicesnuevamente. Que se sepa lo que está pasando.


por favor vea la pregunta ahora ..
Saiyan Prince

mira la pregunta ahora.
Saiyan Prince

Also I noticed that at the end of the udev rule you have OWNER="<username>". You did actually replace that with OWNER="crazydeveloper", didn't you ?Me ayudó. Gracias :): D
Yash Sodha

Seguí tu consejo pero no funcionó para mí. Lo que funcionó es cambiar a través de las opciones de USB proporcionadas por el dispositivo, intente cambiar a PTP desde MTP. Este me funcionó.
George D

4

Tienes que cambiar 2 cosas:

  1. Cambie el primer 'ATTR {idProduct}' a 'ATTR {idVendor}' en el archivo 51-android.rules.

  2. Ejecute estos comandos desde la terminal:

    sudo ./adb kill-server
    sudo ./adb start-server
    sudo ./adb devices
    

3

Tal vez sea un error trivial, como puedo ver en las 51-android.rules que ha duplicado el parámetro idProduct y no hay idVendor, intente cambiar el nombre de manera simple.


1

Mi dispositivo Android tenía la depuración USB que parecía ser un problema, así que fui a la configuración del desarrollador y la apagué. Luego volví a enchufar el cable USB y luego apareció una ventana que me permitió encender el almacenamiento USB. Eso hizo que mi Ubuntu 14.04 detectara el dispositivo Android. No sé si todos los dispositivos tienen esta configuración, pero solucionó mi problema, mientras que probé todos los demás métodos. Gracias


0

Tuve el mismo problema con mi dispositivo Android (HTC one (M7)) en ubuntu 14.04. Entonces reinicié en Windows 7.0. Encontramos el mismo problema allí también. Al buscar encontré el siguiente enlace. http://www.makeuseof.com/answers/why-is-my-windows-7-laptop-not-detecting-any-android-devices/

Marqué * # 7284 # según lo sugerido por Gerry Anthony en ese enlace. Y funcionó en Windows. Reinicié en Ubuntu 14.04 y se detectó mi dispositivo Android.



0

Después de probar cada una de las posibles soluciones detalladas anteriormente y en otros hilos de otros foros, descubrí que la razón por la cual mi HOX había decidido no comunicarse más con mi computadora portátil (14.04) era más simple y mecánica. El cable USB a la toma micro USB del teléfono estaba defectuoso. Al usar el cable o / e que siempre había parecido más rígido y menos duradero que el genérico comprado en el AsDa, se reanudó el servicio normal.

El DMM se empleó para mostrar exactamente cómo se había producido este estado de cosas: la resistencia de la cadena de suministro de + 5V en ese cable había aumentado hasta el punto en que se leía casi abierta. Valor R de la o / e, la cadena de + 5V del cable etiquetado HTC era solo un poco más resistente que lo que sería un cortocircuito y no estaba especialmente bien en el funcionamiento o el diseño del micro USB no, no pude entender cómo esto afectó la transferencia de datos, por lo tanto, solo puede suponer que el riel de suministro en la placa de E / S en uno o ambos dispositivos usa la parte + 5V de uno o ambos enchufes para la transferencia de datos también.

Lo que aprendí aquí: Primero verifique las cosas más simples, antes de arrancarse el pelo sin llegar a ninguna parte con el software instalado, ¡todo lo cual se volvió a colocar como estaba antes de que la falla se manifestara en primer lugar!

HTC - 1, proveedor de cables de las Lecherías asociadas - 0.


-1

Debería ser así:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c03", MODE="0666"

Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar una aclaración de un autor, deje un comentario debajo de su publicación; siempre puede comentar sus propias publicaciones, y una vez que tenga suficiente reputación podrá comentar cualquier publicación .
Fabby

@Fabby Esto parece un intento de responderme la pregunta ..
Seth
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.