0 votos

Aparece "???" y no hay permisos cuando se utiliza 'adb devices' en Linux

Soy nuevo en Android y ADB. Es la primera vez que intento instalar Linux en un dispositivo Android. He estado pisando a través de este tutorial . Estoy en el paso 5, donde el tutorial afirma que tendré que autorizar las conexiones de depuración USB. No estoy seguro de que es exacta, cuando arranqué, el dispositivo simplemente me informó de que había una conexión USB.

Entonces, di el comando Linux:

~$ adb devices
List of devices attached 
????????????    no permissions

Entonces pensé que podría ser un problema de permisos de Linux, y le di sudo pero sigo recibiendo el mismo galimatías.

~$ adb devices
List of devices attached 
????????????    no permissions

cuando desenchufo el dispositivo, y ejecuto el comando adb devices no aparece nada... una línea en blanco. Así que parece que ADB está detectando algo.

¿Qué me dice este resultado? ¿Cómo puedo hacer que reconozcan mi dispositivo? ¿Hay alguna configuración adicional que deba habilitar para que esto funcione? Este dispositivo Android, es un Nextbook Ares 11.

1 votos

Posible duplicado de askubuntu.com/questions/213874/

0 votos

No creo que sea un duplicado, no obtengo el mismo comportamiento, en ese post, sudo adb devices no da lo mismo. (leer hasta el final)

3voto

NuttLoose Puntos 131

Cambiar el modo USB en el teléfono hizo el truco para mí. (Lo puse en Transferencia de archivos)

2voto

AlexBar Puntos 441

En tu dispositivo, ve a Ajustes > Acerca del dispositivo y toca repetidamente "Número de compilación" hasta que diga que eres desarrollador. A continuación, vuelve a Ajustes y entra en Opciones de desarrollador. Actívalo y marca la casilla de depuración USB. A continuación, revoca las autorizaciones de depuración USB.
Ahora, conecta tu dispositivo, instala sus drivers si no lo has hecho y escribe cualquier comando ADB. Aparecerá un mensaje en tu dispositivo pidiendo autorización. Haz clic en Permitir. Una vez hecho esto, cuando escribas adb devices debería decir <device_id> device

3 votos

También es necesario especificar las reglas udev.

0 votos

@daltonfury42 ¿Podrías explicarlo, por favor? A mi me ha funcionado y no se cuales son las reglas de udev :$

1 votos

@Rhaegar ver: Configuración de ADB para Nexus 4 en Ubuntu 11.10 . udev es una especie de "gestor de dispositivos Linux". De acuerdo con el artículo de Wikipedia vinculado, podría ser parte de systemd mientras tanto en los sistemas que han ido por ese camino.

2voto

Randy Wells Puntos 21

Hay varias razones por las que esto puede ocurrir, la mayoría se pueden solucionar siguiendo las instrucciones del guía oficial :

  1. No ha activado la depuración USB en su dispositivo (hágalo, consulte la guía anterior / otra respuesta)
  2. Tu dispositivo está en Modo USB, intenta cambiarlo (aparece una notificación / encuentras un menú en la configuración de desarrollador)
  3. Te falta el permiso sobre el dispositivo en tu sistema Linux: Te explico qué hacer en este caso

Hagas lo que hagas NO lanzar adb start-server con sudo (alguna guía / respuesta en stack overflow sugiere esto). ¡Esto es malo! Funciona porque se ejecuta el servidor adb como Root (administrador), pero esto no se supone que se ejecute de esa manera y podría causar otros problemas más adelante.

En primer lugar, si usted está en Ubuntu / Debian comprobar si un paquete llamado android-tools-adb está disponible e instálelo:

sudo apt install android-tools-adb

esto instala una lista de permisos gestionada por la comunidad para dispositivos Android (desenchufa / vuelve a enchufar el dispositivo o intenta reiniciarlo).

Asegúrese de que está en el udev plugdev grupo:

groups

si el plugdev no aparece en la lista, añádase:

sudo usermod -aG plugdev $LOGNAME
sudo usermod -aG plugdev $USER

es posible que tenga que desconectarse y volver a conectarse para que el cambio surta efecto, compruebe de nuevo con groups mando.

Algunos dispositivos no están en la lista, por ejemplo yo tengo un dispositivo Pixel 2 que no aparece en el módulo mantenido por la comunidad. Si sigue sin obtener permiso esto es lo que tienes que hacer:

Primer paso Conecta tu dispositivo

Primer paso : Compruebe que su PC lo detecta:

$ lsusb
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 004: ID 8087:07da Intel Corp. 
Bus 001 Device 003: ID 18d1:4ee7 Google Inc. <----------
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

Paso 3 Anote los dos códigos que aparecen después de ID

En mi ejemplo, el dispositivo es el denominado Google Inc. y los códigos son 18d1:4ee7 , el primero es el ID de proveedor, el segundo es el ID de modelo de dispositivo, estos son para Google Pixel 2

Paso 4 Escribe un udev regla para su dispositivo

sudo gedit /etc/udev/rules.d/70-android-custom-device.rules

dentro escribe esto:

# GOOGLE PIXEL 2
ACTION=="add|change", SUBSYSTEM=="usb", \
  ATTRS{idVendor}=="18d1", \
  ATTRS{idProduct}=="4ee7", \
  TAG+="uaccess"

Raplace su comentario ( GOOGLE PIXEL 2 ) con el nombre del dispositivo, esto es ignorado por udev, sólo es útil para un humano que lee el archivo (el comando # es un comentario). A continuación, cambie el código de idVendor y idProduct con los códigos de sus dispositivos.

Si tiene varios dispositivos con el mismo proveedor puede listarlos todos separándolos con un tubo | por ejemplo: ATTRS{idProduct}=="d001|4ee7"

Paso 5 reinicia udev para que se lean tus cambios

sudo service udev restart

Paso 6 Desenchufa y vuelve a enchufar el dispositivo

ahora debería tener los permisos

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X