Hay varias razones por las que esto puede ocurrir, la mayoría se pueden solucionar siguiendo las instrucciones del guía oficial :
- No ha activado la depuración USB en su dispositivo (hágalo, consulte la guía anterior / otra respuesta)
- Tu dispositivo está en Modo USB, intenta cambiarlo (aparece una notificación / encuentras un menú en la configuración de desarrollador)
- 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
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)