android - por - El dispositivo de detección para depuración(ADB) no funciona
adb android (6)
He activado la depuración USB en mi Archos 43 Internet Tablet (Android 2.3.26), pero adb no detecta el dispositivo.
Tengo Kubuntu 11.04.
Salida del comando de shell "lsusb":
michael@schlepptop777:~/.android_sdk/platform-tools$ lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0e79:1411 Archos, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Así que mi "ID de proveedor" es 0e79, ¿no?
Para el siguiente paso he creado el siguiente archivo:
sudo kate /etc/udev/rules.d/51-android.rules
Con el siguiente contenido:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0e79", MODE="0666"
Después de eso he establecido los permisos:
sudo chmod a+rx /etc/udev/rules.d/51-android.rules
Luego lo guardé y reinicié udev:
sudo /etc/init.d/udev restart
Y después de hacer todos esos pasos, adb aún no muestra mi dispositivo:
michael@schlepptop777:~/.android_sdk/platform-tools$ ./adb devices
List of devices attached
<empty line, because stackoverflow does not display this>
Después de ejecutar el comando sudo /etc/init.d/udev restart
¡tienes que reiniciar el sistema! Lo sé, suena como un comportamiento de Windows, pero me rompí la cabeza durante 3 horas antes de descubrir esto.
En algunos casos, también debe agregar el ID de proveedor a este archivo: ~/.android/adb_usb.ini
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE ''android update adb'' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x0e79
Tenga en cuenta que este archivo puede sobrescribirse al actualizar el SDK, por lo que es posible que deba volver a editarlo más adelante.
En realidad, al igual que Aultbot, reemplazar el cable también me sirvió. Por extraño que haya estado usando el cable durante varias horas, de repente no funcionó con ADB.
Además, asegúrese de aceptar la conexión en el teléfono (nueva función de seguridad en Android 4)
Edición: Recientemente, ha habido algunos problemas con respecto al servicio de adb. Si no se inicia (verifique con netstat o similar o escriba "set ADB_TRACE = 1" antes de ejecutar su comando adb para obtener mensajes de depuración), verifique los subprocesos que tratan con ese mensaje de error. Un problema común es que el puerto predeterminado está en uso por alguna otra aplicación (cambie el puerto escribiendo "set ANDROID_ADB_SERVER_PORT = 12345" antes del comando adb).
Estoy en ubuntu 11.04, la única forma de conectarme a mi Atrix es cambiando el modo de conexión USB a "Windows Media Sync". Lo que es extraño en primer lugar, pero es especialmente extraño porque ADB en Windows no se conecta cuando está configurado para ganar sincronización de medios. O puedes usar adb inalámbrico. Hay un par de widgets que hacen que sea realmente fácil habilitar wifi adb. Muestran la dirección ip en el widget y todo. :)
Mageia 2
Al principio, tengo algo como:
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
Entonces encontré que tenía que hacer ajustes | Aplicaciones | Desarrollo y marca la casilla de verificación Depuración USB.
$ adb devices
List of devices attached
???????????????? no permissions
Intentando como root, tengo:
$ su -l
# adb devices
List of devices attached
???????????????? no permissions
Entonces me di cuenta de que adb todavía se estaba ejecutando como usuario regular. Cuando, como root, hice:
# adb kill-server
# adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
A43-A44C0002-9BF80000-0C60C4CC-0D020027 offline
ADB para desarrolladores de Android (ARCHOS Internet Tablet) fue útil, excepto que terminé haciendo esto como root:
# cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",
SUBSYSTEM=="usb", ENV{PRODUCT}=="e79/*", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="e79", MODE="0666"
# udevadm control --reload-rules
# udevadm monitor
.
.
.
^C
El comando de monitor fue útil porque mostró que el dispositivo se conecta, desconecta, traza, etc.
Entonces pude detener el servidor que se ejecuta como root e iniciarlo como usuario regular:
# adb kill-server
# exit
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
A43-A44C0002-9BF80000-0C60C4CC-0D020027 offline
El dispositivo no funcionará cuando esté "desconectado". Para arreglar eso tuve que reiniciar el Archos 43.
$ adb devices
List of devices attached
A43-A44C0002-9BF80000-0C60C4CC-0D020027 device
Aunque dudo que estas acciones fueran necesarias, para jugar con seguridad, después de reiniciar, me aseguré de enchufar el USB y seleccionar Sólo cargar antes de activar la depuración del USB. También había deshabilitado WiFi y Syncing, pero una vez que empezara a funcionar, adb todavía se conectaría con los que estaban conectados.
En este punto, descargando mi aplicación funcionó:
$ adb install bin/HelloWorld.apk
2914 KB/s (157589 bytes in 0.052s)
pkg: /data/local/tmp/HelloWorld.apk
Success
PD: Al día siguiente, sabiendo que todo funcionó la noche anterior, reinicié mi sistema de desarrollo e intenté conectarme de nuevo. Esto dio el estado "fuera de línea". Deshabilité la sincronización y WiFi, sin reiniciar Archos 43, y luego los adb devices
mostraron el estado de "dispositivo" en lugar de "fuera de línea". No estoy seguro de qué hacer con eso, pero apagar esto podría tener un significado después de todo.
Tomé prestado un cable de un lector de tarjetas SD y no funcionó para ADB, mientras que funcionó para el lector de tarjetas SD. ¡Probé un nuevo cable y los dispositivos de baja y baja emisión reconocen el dispositivo!