Android ADB dispositivo fuera de línea, no puede emitir comandos

Ya no puedo conectarme a mi dispositivo usando ADB a través de la línea de comando o en Eclipse .

Ejecutando el comando

adb devices 

devuelve el nombre del dispositivo, pero dice que está fuera de línea.

Cosas que he intentado.

  1. El modo de depuración de Android alternado
  2. Reinstalado el controlador USB de Google
  3. Restaurado el sistema operativo a una copia de seguridad que funcionaba anteriormente ( CyanogenMod )
  4. Cambió el cable USB
  5. Reiniciado el teléfono / computadora varias veces
  6. Se actualizó el SDK de Android

Realmente no tengo ni idea de lo que está pasando. Cualquier otra cosa que creas que puedo probar, soy todo oídos.

Para que quede claro, si tiene este mismo problema, probablemente el problema sea un SDK desactualizado. A partir de la 4.2.2 hay una función de seguridad que requiere que confirmes la huella dactilar de RSA del dispositivo de conexión. ¡Abre el administrador de SDK y actualiza las herramientas! Luego reinicia.

Acabo de tener el mismo problema hoy después de que mi Nexus 7 y Galaxy Nexus se actualizaron a Android 4.2.2.

Lo que me arregló fue actualizar las herramientas de la plataforma SDK a r16.0.1. Para mí, esta versión no se mostró en mi SDK Manager, así que la bajé directamente de http://dl.google.com/android/repository/platform-tools_r16.0.1-windows.zip .

A continuación, debe cambiar el nombre del directorio de platform-tools la platform-tools y descomprimirlo en android-sdk-windows/platform-tools . Usando SDK Manager, también había actualizado a las últimas herramientas de SDK antes de esto.

Si todo tu Eclipse y ADT son antiguos, es posible que necesites actualizarlos también, pero no era necesario.

Nota: puede necesitar ejecutar SDK Manager dos veces (una para actualizarse) antes de ver los paquetes más recientes.

Intenta adb devices después de ejecutar adb kill-server . La pregunta de seguridad aparece después de eso. Trabajó para mi.

Presiono el mismo problema en un Nexus 7 que ejecuta la actualización 4.2.2 OTA. Estoy casi seguro de que tenía una conexión ADB sobre USB y Wi-Fi después de la actualización hasta que simplemente dejó de funcionar. Para solucionarlo, actualicé mi SDK usando:

 android update sdk --no-ui 

Ahora mis herramientas de desarrollo son:

  • SDK rev 16.0.2
  • SDK herramientas rev 21.1
  • SDK API 17, rev 2

También parece ocurrir con frecuencia cuando se conecta al dispositivo usando el modo Wi-Fi (en Android Studio o en la consola ejecutando adb tcpip 5555 por ejemplo).

Arreglar:

  1. Desconecte la conexión USB o apague el Wi-Fi del dispositivo si está conectado a través de Wi-Fi.
  2. Cierre Android Studio / Eclipse / other IDE.
  3. Ejecute adb kill-server para asegurarse de que adb no se esté ejecutando.
  4. Reinicia tu dispositivo Android.
  5. Después de que su dispositivo se reinicie, conéctelo a través de USB y ejecute adb devices . Esto debería iniciar el daemon de ADB. Su dispositivo ahora debería estar en línea nuevamente.

Para cualquier persona que se pregunte acerca de 4.2.2, hay una pregunta de seguridad que aparece en el teléfono solicitando la verificación de RSA con la PC. Asegúrese de que sus herramientas estén actualizadas Y permita el acceso de la PC al verificar la pregunta de seguridad en los dispositivos en cuestión. Esto me lo arregló.

Y como siempre, verifique que tenga habilitada la depuración en las opciones de desarrollador;)

No puedo enfatizar que cambiar los puertos USB es la clave. A menudo, los puertos USB del panel frontal pueden ser defectuosos.

Múltiples archivos adb.exe?

Mi problema se resolvió cuando eliminé una copia de OLD adb.exe de C: / Windows / . No sé cómo una copia de adb.exe llegó a C: \ Windows \?

Cuando ejecuto adb.exe desde android-sdk / platform-tools / no tuve ningún problema con la detección.

Estaba teniendo este problema y ninguna de las otras respuestas me ayudó. Lo que era necesario, después de actualizar el SDK e instalar la API para 4.2.2, se estaba ejecutando:

 android update adb 

Otro problema que tenía era que estaba tratando de conectar ADB a través de Wi-Fi, que es mi única opción porque los puertos USB en mi Mac son realmente finnicky. Desafortunadamente, ADB sobre Wi-Fi no muestra la pregunta de seguridad en 4.2.2, por lo que necesita encontrar un cable USB que funcione y conectarse a través de USB al menos una vez para aceptar la pregunta de seguridad, pero después de hacerlo una vez , puedes conectarte a través de Wi-Fi.

Pruebe apagando la depuración de usb una vez y luego habilítela y luego conecte su dispositivo con el sistema: enlace

Si su dispositivo normalmente se conecta a través de USB, pero deja de funcionar repentinamente, especialmente después de desconectar y volver a conectar el cable USB, intente los siguientes pasos no invasivos antes de hacer algunas de las cosas más drásticas mencionadas en las otras respuestas:

 adb kill-server adb start-server adb devices 

Si su dispositivo aparece en la lista con el ‘dispositivo’ al lado, ya ha vuelto a funcionar.

Si su dispositivo aparece en la lista con ‘fuera de línea’ al lado, intente reiniciar el dispositivo. El daemon de ADB en el dispositivo ocasionalmente se cuelga. Me he dado cuenta de esto más cuando desconecté el cable mientras LogCat se estaba ejecutando y después de volver a conectarme a través de Wi-Fi o Ethernet.

Si su dispositivo no está en la lista, debe probar las soluciones en las otras respuestas, comenzando con probar un puerto y cable USB diferente. Esos cables cheapo pueden salir mal.

Asegúrese de utilizar adb desde su carpeta de platform-tools , después de actualizar las herramientas de SDK.

Finalmente lo hice funcionar después de darme cuenta de que estaba usando una versión obsoleta de ADB copiada en /usr/bin .

En algún momento esto puede suceder debido a un error del servidor adb (creo). Siempre diciendo

 "device-name is offline" from adb devices command. 

Solo mata el servidor y comienza de nuevo. Funcionó para mí

 "adb kill-server" "adb start-server" 

adb connect y adb connect de las otras soluciones funcionó porque mi problema estaba del otro lado. En el dispositivo que necesitaba para stop adbd y reiniciarlo, start adbd . El dispositivo ahora está “en línea” nuevamente.

Intenté dturvene y todas las demás soluciones, pero no funcionaron. Necesitaba un paso más.

Ejecuta estos comandos

  1. adb kill-server
  2. android update sdk --no-ui
  3. adb start-server

Para verificar que funcionó, ejecute ‘adb version’ antes y después de los comandos y asegúrese de que sea el último. El motivo del comando adb kill-server es que es muy probable que se esté ejecutando, y no se puede actualizar mientras se está ejecutando, por lo que primero tiene que eliminarlo.

Inicialmente me encontré con el mismo problema (con ADB / fastboot descargado de GitHub ), pero finalmente lo conseguí. Lo que funcionó para mí:

  • Android SDK. Versión de ADB: 1.0.31
  • Usando el puerto USB frontal ( MacBook Pro 15 “)
  • Reiniciar el teléfono después de habilitar las opciones de desarrollo y la depuración del USB (hazlo en 7 veces toca configuración> teléfono> comstackción).
  • Mata al servidor adb en caso de que no aparezca ningún dispositivo (adb kill-server)
  • El icono de depuración debe estar visible en el teléfono.
  • Asegúrese de desbloquear la pantalla de locking para verificar el cuadro de diálogo de confirmación de huella digital de RSA.

Para mí nada funcionó. Pasé aproximadamente 12 horas buscando constantemente en Internet y probando las soluciones que funcionaron para otras personas con problemas similares.

Finalmente terminé simplemente haciendo las cosas de ADB en la LAN. La configuración estaba justo al lado de la configuración de depuración de USB y en ADB se puede activar con “adb connect [IPADDRESS]: [PORT]”. El puerto era 5555 en mi teléfono.

Espero que esto ayude a alguien a volver al trabajo en lugar de tener que lidiar con constantes inconvenientes.

Este enfoque funcionó para mí:

  1. adb kill-server
  2. Deshabilite el dispositivo fuera de línea en el Administrador de dispositivos (ver imagen a continuación)
  3. Habilitar el dispositivo en el Administrador de dispositivos
  4. adb start-server

Administrador de dispositivos, menú “Ver”, “Dispositivos por conexión”:

enter image description here

Si previamente has autorizado la huella digital RSA de tu PC y has probado adb kill-server, etc. sin suerte, tu problema podría ser que estás intentando conectarte mientras está bloqueado. Intenta presionar el botón de pantalla e ingresar tu patrón; esto lo solucionó.

La mejor forma que pensé es deshabilitando y luego habilitando el dispositivo desde el Administrador de dispositivos y ejecutando el comando adb devices.

  1. Ve a la pestaña de inicio y haz clic derecho en la computadora
  2. En el menú desplegable, haz clic en Administrar
  3. Desde la pantalla de administración de la computadora, haz clic en Administrador de dispositivos
  4. En el panel derecho, expanda dispositivos portátiles para encontrar su dispositivo
  5. Haga clic derecho en el nombre de su dispositivo y haga clic en desactivar en el menú desplegable
  6. Cuando se deshabilita, repita el paso 5, excepto para habilitarlo.

El dispositivo volverá a estar en línea. Es mas rapido.

Una posibilidad más para las personas con conexiones ADB escamosas, y si están en una Mac y tienen instalada la transferencia de archivos de Android : descubrí que la transferencia de archivos estaba interfiriendo con mi conexión ADB, haciendo que dejara de funcionar de manera intermitente.

Asesinar el Android File Transfer Agent.app proceso de aplicación que busca dispositivos compatibles (por ejemplo, el Nexus 7) conectado al Mac me cura la flakiness.

Como nadie respondió mi situación: es posible que no tenga acceso al archivo ~ / .android / adbkey. Si inicialmente comienza adb con sudo, generará un par de claves públicas, escribiendo esto en ~ / .android / adbkey.pub y ~ / android / adbkey. Por supuesto, la clave privada es chmod 600, solo se puede leer para la raíz en su directorio de inicio. Posteriormente, iniciar adb como usuario normal no dará acceso al archivo de clave privada, que a su vez fallará silenciosamente con “dispositivo fuera de línea”.

Instalado el último android sdk.
Cambió el puerto USB del dispositivo.
Modificado desde MTP -> solo carga -> MTP.
Funcionó.

Es solo porque su computadora no tiene el controlador correcto. Para arreglar eso:

  1. Descargue y extraiga Android SDK

  2. Vaya a Administrador de dispositivos (haga clic con el botón derecho en Computadora -> Propiedades -> Administrador de dispositivos

  3. En el panel derecho, expanda dispositivos portátiles para encontrar su dispositivo

  4. Haga clic derecho en el nombre de su dispositivo y haga clic en Actualizar el software del controlador

  5. Explorar mi computadora para ver el software del controlador

  6. Navegue a su carpeta Android SDK en el paso 1.

  7. Siguiente y listo

Intente reiniciar el servidor adb de la siguiente manera:

 adb kill-server adb start-server 

También me he encontrado con los mismos problemas que el tuyo. Y reiniciar el servidor adb resolverá este problema.

Actualicé muchas veces, hasta que no pude actualizar más, pero nunca recibí un aviso en mi pantalla; Solo seguí desconectando el dispositivo.

Mi problema era que estaba ejecutando el comando ADB desde un directorio diferente a lo que realmente se estaba actualizando.

El directorio correcto actualizado para el ADB exe es:

 C:\Program Files (x86)\Android\android-sdk\platform-tools\ 

Reinicia el dispositivo. Intenté todo lo que se detalla aquí para hacer funcionar mi teléfono HTC (con Android 4.0.3), pero los adb devices seguían diciendo que no estaba conectado. Después de reiniciar el teléfono, finalmente estaba en línea. Algunas de las otras sugerencias aquí pueden haber contribuido a que se reconozca el teléfono, pero hacer algunos reinicios en el camino mientras los estás probando ciertamente no dolerá.

tarde pero encontré la manera más fácil solo ir a DDMS y seguir como se muestra en la imagen …

enter image description here

Lo que solucionó para mí en Mac fue actualizar adb a la última versión (1.0.32). Ahora puedo ver mi dispositivo en línea de nuevo

Después de probar todo dos veces, revertí el software del teléfono a una versión estable, y finalmente funcionó. Estaba ejecutando Nightlies de Cyanogen. De todos modos, las cosas publicadas en este hilo deberían ayudar a cualquiera que encuentre este problema.

Encontré este problema también. Actualicé todo lo que pude en el Administrador de Android SDK, desinstalé mi dispositivo usando el Administrador de dispositivos y ahora funciona correctamente. Emite algunos “kill-server” y “start-server” en el camino …