Dispositivo Android ADB offline, impossibile eseguire comandi


329

Non riesco più a collegarmi al mio dispositivo tramite ADB tramite la riga di comando o in Eclipse .

Esecuzione del comando

adb devices

restituisce il nome del dispositivo, ma dice che è offline.

Cose che ho provato.

  1. Commutazione della modalità di debug Android
  2. Reinstallato il driver USB di Google
  3. Ripristinato il sistema operativo su un backup precedentemente funzionante ( CyanogenMod )
  4. Sostituito il cavo USB
  5. Riavvia il telefono / computer più volte
  6. Aggiornato l'SDK di Android

Davvero non ho idea di cosa stia succedendo. Qualsiasi altra cosa pensi che io possa provare, sono tutto orecchie.

Per essere chiari, se si riscontra questo stesso problema, il problema è probabilmente un SDK non aggiornato. A partire dalla 4.2.2 esiste una funzione di sicurezza che richiede di confermare l'impronta digitale RSA del dispositivo di connessione. Apri il gestore SDK e aggiorna gli strumenti! Quindi riavviare.


22
prova un'altra porta USB.
jayellos,

l'unica altra porta è usb3
Brian

3
Ho anche riscontrato questo tipo di problema. Quello che ho fatto è stato, * emettere il comando adb kill-server, adb start-server. * prova un'altra porta USB, per lo più funzionerà sul retro del PC., * riavvia il dispositivo, * riavvia eclissi, * riavvia il computer, * cambia cavo USB alcuni cavi USB non funzioneranno (bassa qualità). Infine, se il problema non viene risolto, reinstallare il driver USB del dispositivo.
jayellos,


3
È successo lo stesso a me. Nel mio caso, disabilito solo l'opzione Sviluppatore e quindi riattivo. Questo è tutto.
Kyaw Nyi: Vinci

Risposte:


139

Ho avuto lo stesso problema oggi dopo che il mio Nexus 7 e Galaxy Nexus sono stati aggiornati ad Android 4.2.2.

La cosa che l'ha risolto per me è stato l'aggiornamento degli strumenti della piattaforma SDK a r16.0.1. Per me, questa versione non è stata visualizzata nel mio gestore SDK, quindi l'ho tirata giù da http://dl.google.com/android/repository/platform-tools_r16.0.1-windows.zip direttamente.

È quindi necessario rinominare la platform-toolsdirectory e decomprimerla in android-sdk-windows/platform-tools. Utilizzando SDK Manager, prima avevo aggiornato anche gli ultimi strumenti SDK.

Se il tuo intero Eclipse e ADT sono antichi, potrebbe essere necessario aggiornarli, ma non ne ho avuto bisogno.

Nota: potrebbe essere necessario eseguire SDK Manager due volte (una volta per aggiornarsi) prima di vedere i pacchetti più recenti.


1
Ho r17 ma ho lo stesso problema. Il ripristino di r16.0.1 sarà di aiuto?
Alexander Suraphel,

@spartacus Non penso, quindi penso che il problema per te potrebbe risiedere ora altrove.
hack_on,

Risolto, problema causato dalla piattaforma mancante di Android SDK
Tai Dao

Ha funzionato esattamente nell'ordine descritto. L'ultimo passo è di permetterlo al telefono.
vlad

24
Basta riavviare il telefono o il dispositivo e divertiti, non è necessario riavviare ad nient'altro.
UMAR

135

Prova a correre adb devicesdopo aver corso adb kill-server. Successivamente viene visualizzata una domanda di sicurezza. Ha funzionato per me.


Funziona se i driver sono già aggiornati e continuano a riscontrare problemi. Anche in altri casi, potrebbe funzionare, penso.
kAmol,

Assicurati di scollegare qualsiasi altra macchina dal dispositivo. Nel mio caso, il mio host di macchina virtuale era ancora connesso tramite tcpip e il mio guest poteva ancora connettersi correttamente, ma sarebbe offline. Per ottenere il prompt RSA, ho dovuto eseguire il adb kill-servercomando sul mio host prima di connettermi al mio ospite tramite adb connect 192.x.x.x.

dopo adb start-server
madz

In generale, questo è il trucco. Accetta risposta è per caso speciale.
Ratul,

Devo aver perso il 'consentire il debug USB da xx: xx: xx' sul telefono. Il riavvio del server e la riconnessione dell'USB lo hanno ripreso.
Dan Bolser,

77

Sembra inoltre che si verifichi frequentemente quando ti connetti al dispositivo utilizzando la modalità Wi-Fi (in Android Studio o nella console eseguendo adb tcpip 5555ad esempio).

Aggiustare:

  1. Disconnetti la connessione USB o disattiva il Wi-Fi del dispositivo se sei connesso tramite Wi-Fi.
  2. Chiudi Android Studio / Eclipse / altro IDE.
  3. Esegui adb kill-serverper accertarti che adb non sia in esecuzione.
  4. Riavvia il tuo dispositivo Android.
  5. Dopo il riavvio del dispositivo, collegalo tramite USB ed esegui adb devices. Questo dovrebbe avviare il demone ADB. Ora il tuo dispositivo dovrebbe essere di nuovo online.

2
Il passaggio 3 è probabilmente la soluzione chiave qui! chiudere l'interfaccia della riga di comando e terminare il processo se è ancora in esecuzione e riprovare!
reubenjohn,

Questo funziona per me (Galaxy Tab GT P7500 con Windows 7)
Sarvan

Ha funzionato per me con Android 8.0 e Windows 10
andoni90

Ho provato adb kill-serversenza il riavvio del dispositivo Android e non ha funzionato. Quando ripeto questi passaggi e riavvio il dispositivo come indicato nella sezione 4, ha funzionato.
E235,

62

Ho riscontrato lo stesso problema su un Nexus 7 con l'aggiornamento OTA 4.2.2. Sono quasi certo di avere una connessione ADB su USB e Wi-Fi dopo l'aggiornamento fino a quando non ha smesso di funzionare. Per risolvere, ho aggiornato il mio SDK usando:

android update sdk --no-ui

Ora i miei strumenti di sviluppo sono:

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

1
"'android' non è riconosciuto come comando interno o esterno, programma eseguibile o file batch." - ha anche fatto un "dir android.exe / s" dalla radice del mio disco C: - non ho trovato nulla - stai usando Linux o hai dei bit speciali che noi utenti di Windows non abbiamo?
BrainSlugs83

Sì, io uso Linux. android è uno script di shell sotto ./sdk/tools/ che dà il via all'app java di SDK Manager per Android. Deve esserci uno script comparabile nel tarball di Windows SDK.
dturvene,

7
il comando dato può essere utilizzato su Windows purché sia ​​eseguito dal tuo percorso \ alla directory \ android-sdk \ tools \
gadget

4
In Windows 7, per emettere il comando dalla directory ... \ android-sdk \ tools \ e farlo funzionare, esegui la finestra di comando "Come amministratore".
John Jorsett,

Ha funzionato per me con Nexus 10 e Galaxy Nexus. Sto usando Windows XP SP3. Ho provato a cambiare porta USB, riavvii, etx .. niente ha aiutato ma questa risposta. Stavo quasi per reinstallare xp, grazie!
Fer

44

Non posso sottolineare che cambiare le porte USB è la chiave. Spesso le porte USB del pannello frontale possono essere difettose.


5
Ha funzionato anche per me. Il Nexus 10 a volte sembra
assorbire

Caspita, dopo 1/2 ora di vicoli ciechi, si scopre che si tratta di un problema di alimentazione USB! Grazie!
bigjosh

A volte non è una porta difettosa. Nel mio caso l'USB è stato collegato durante l'avvio di Windows e non ha caricato correttamente i driver ADB. Solo scollegato e ricollegato alla stessa porta. Windows si chiede ...
Ricardo BRGWeb il

1
A volte le porte di commutazione funzionano. A volte è una questione di supporto USB2 vs USB3 dalle varie combinazioni di porte + cavo + dispositivo. Il passaggio dalle porte anteriori a quelle posteriori o quelle con o senza l'indicatore "SS" (USB3) a volte aiuta. A volte provare un cavo diverso.
Jon Adams,

8 ore sprecate per me. Funziona su USB 3.0 ma non su USB 2.0 per qualche motivo (almeno per me). Non ho mai avuto questo problema fino ad ora e all'improvviso devo usare 3.0. Il che sta sprecando una delle mie porte 3.0 ora.
Ryan

39

Per chiunque si chieda la 4.2.2, sul telefono è presente una domanda di sicurezza che richiede la verifica RSA con il PC. Assicurati che i tuoi strumenti siano aggiornati E consenti l'accesso al PC verificando la domanda di sicurezza sui dispositivi in ​​questione. Questo mi ha risolto.

E come sempre, verifica di aver abilitato il debug nelle opzioni sviluppatore;)


7
Ha funzionato per me una volta revocata le autorizzazioni di debug USB. Quindi debug USB disabilitato e riattivato. Il messaggio "consentire questo computer" è apparso e BAM, ha mostrato come dispositivo anziché offline.
CrazyPenguin

21

Più file adb.exe?

Il mio problema è stato risolto quando è stata eliminata una copia di OLD adb.exe da C: / Windows / . Non so come sia arrivata una copia di adb.exe in C: \ Windows \?

Quando avvio adb.exe da android-sdk / platform-tools / ho avuto problemi con il rilevamento.


Questo è quello che è successo con me. Penso che il colpevole sia stato qualcosa che ho scaricato per installare una ROM due anni fa.
gengkev,

Il mio Windows 8 ha avuto lo stesso problema e rinominando il c:\windows\adb.exequalcos'altro ( adb.old.exe) risolto il problema. Non ho nemmeno bisogno di riavviare o aprire / chiudere la riga di comando. Funziona e basta. Ho digitato adb devicessubito dopo aver rinominato il vecchio adb.exee quindi il mio Nexus 7 mi ha chiesto se volevo autorizzare questo computer. Ho detto di sì e ora quando emetto adb devicesinvece di "offline" si dice "dispositivo".
AlexStack,

1
Grazie, questo funziona! La stessa cosa è successa anche a me, penso che adb.exe venga copiato in C: \ Windows quando abbiamo installato il software del driver fornito con il dispositivo.
thinzar00,

Come ci è arrivato: / Voglio sapere
Daniel Cheung,

1
@DanielCheung Per me è stato durante l'installazione dei programmi per PC KingORoot e / o KingRoot. Immagino che installino una versione da soli perché non si basano sull'utente che ha installato Android SDK. E sì, l'eliminazione della versione precedente (1.0.26) che crea dalla directory di Windows ha risolto il problema "offline" per me. :)
Venryx

20

Prova disattivando il debug USB una volta e quindi abilitandolo nuovamente e quindi collega il tuo dispositivo con il sistema: link


2
Questo è certamente il metodo più semplice, più sicuro e più veloce. Ho usato molte varianti di tutti i metodi in questo thread. Questo è l'unico che funziona ogni volta. Sono solo tre tocchi sul dispositivo Android e il problema è scomparso.
LD James

18

Stavo avendo questo problema e nessuna delle altre risposte ha aiutato. Ciò che era necessario, dopo l'aggiornamento dell'SDK e l'installazione dell'API per 4.2.2, era in esecuzione:

android update adb

Un altro problema che stavo avendo era che stavo provando a connettere ADB tramite Wi-Fi, che è la mia unica opzione perché le porte USB sul mio Mac sono davvero sottili. Sfortunatamente, ADB su Wi-Fi non mostra la domanda di sicurezza in 4.2.2, quindi è necessario trovare un cavo USB che funzioni e si colleghi tramite USB almeno una volta per accettare la domanda di sicurezza, ma dopo averlo fatto una volta , puoi connetterti tramite Wi-Fi.


Questo è stato per me. Grazie. Mi ha picchiato la testa contro un muro da quando ho aggiornato il mio Nexus 7.
Jason Southwell l'

Ho provato di tutto su questa pagina e alcuni altri siti che Google ha aperto e il mio telefono HTC con Android 4.0.3 era ancora elencato come offline. Alla fine ho riavviato il telefono e poi i dispositivi adb mi hanno detto che era online. Amico, vorrei averci pensato prima.
John Jorsett,

Ho ricevuto questo errore: dispositivo offline fino a quando non ho trovato il tuo commento sul wifi - non appena ho tolto il telefono dal wifi ha funzionato. Grazie!
amurrell,

17

Se il tuo dispositivo si collega normalmente tramite USB, ma smette improvvisamente di funzionare, soprattutto dopo che il cavo USB è stato disconnesso e ricollegato, prova i seguenti passaggi non invasivi prima di fare alcune delle cose più drastiche menzionate nelle altre risposte:

adb kill-server
adb start-server
adb devices

Se il tuo dispositivo è elencato con "dispositivo" accanto ad esso, sei di nuovo in affari.

Se il tuo dispositivo è elencato con "offline" accanto ad esso, prova a riavviare il dispositivo. Il demone ADB sul dispositivo a volte si bloccherà. L'ho notato di più quando ho disconnesso il cavo mentre LogCat è in esecuzione e dopo il passaggio dalla connessione tramite Wi-Fi o Ethernet.

Se il tuo dispositivo non è elencato, dovresti provare le soluzioni nelle altre risposte, iniziando con un cavo e una porta USB diversi. Quei cavi cheapo possono andare male.


Ciò ha aiutato a risolvere il mio problema (l'emulatore Android si presentava come "off-line" ma dopo aver riavviato il server come descritto era tornato in modalità "dispositivo").
Greg0ry

1
Dopo molte ore di tentativi di trovare il motivo per cui adb non funziona più, era in effetti il ​​cavo!
Martin L.,

Sono stato morso da un cavo difettoso più di una volta. I cavi difettosi di solito continuano a caricare bene il dispositivo, quindi anch'io ho perso molto tempo prima di provarne di diversi.
scottt,

Oh mio Dio, ho provato tutte le soluzioni, ma la più semplice - riavviare IL TELEFONO - non mi è venuta in mente. Ciò ha risolto il mio problema.
Kibin,

Ho dovuto usare un cavo più corto - quello che uso per caricare il mio telefono era troppo lungo!
Rick Mortensen,

12

Assicurati di utilizzare adbdal tuoplatform-tools cartella, dopo aver aggiornato gli strumenti SDK.

Finalmente ho funzionato dopo aver capito che stavo usando una versione obsoleta di ADB copiata /usr/bin.


dov'è questo usr / bin?
AntWo,

8

A volte questo può accadere a causa dell'errore del server adb (penso). Lo dice sempre

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

Basta uccidere il server e ricominciare. Ha funzionato per me.

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

7

Ho usato adb connect <device_ip>e nessuna delle altre soluzioni ha funzionato perché il mio problema era dall'altra parte. Sul dispositivo dovevo stop adbde riavviarlo start adbd. Il dispositivo ora è di nuovo "online".


1
Aveva una Amazon Fire TV Stick che presentava questo problema durante la connessione tramite Wifi. Alternare adb spento e riacceso, adb kill-server, adb start-server, poi adb connect <device_ip>come suggerito sopra funzionato per me.
Chenware,

6

Ho riscontrato lo stesso problema risolto per me. collega prima il telefono tramite USB, quindi assicurati di controllare il tuo IP mobile che si trova nelle impostazioni >> informazioni sul telefono >> esegui i seguenti comandi.


adb kill-server
adb start-server
adb tcpip 5555 //it resets port so put port you want to connect
adb connect 192.168.1.30:5555 //ip:port of your mobile to connect
adb devices //you will be connected over wifi


adb tcpip 5555 non reimposta la porta, imposta semplicemente una porta predefinita per il dispositivo corrente e dovrebbe avvenire dopo la connessione a un dispositivo e la prossima volta che ti connetti a un dispositivo tramite indirizzo IP anche su rete wifi non ha bisogno di porta
Ehsan sarshar

5

Ho provato dturvene e tutte le altre soluzioni, ma non hanno funzionato. Avevo bisogno di un altro passo.

Esegui questi comandi

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

Per verificare che abbia funzionato, esegui "versione adb" prima e dopo i comandi e assicurati che sia l'ultimo. Il motivo del adb kill-servercomando è che molto probabilmente è in esecuzione e non può essere aggiornato mentre è in esecuzione, quindi è necessario prima ucciderlo.


5

Per me niente ha funzionato. Ho trascorso circa 12 ore a cercare costantemente su Internet e provare le soluzioni che hanno funzionato per altre persone con problemi simili.

Alla fine ho finito per fare le cose ADB sulla LAN. L'impostazione era proprio accanto all'impostazione Debug USB e in ADB può essere attivata con "adb connect [IPADDRESS]: [PORT]". La porta era 5555 sul mio telefono.

Spero che questo aiuti qualcuno a tornare al lavoro invece di dover affrontare continui inconvenienti.


5

Questo approccio ha funzionato per me:

  1. adb kill-server
  2. Disabilita il dispositivo offline in Gestione dispositivi (vedi immagine sotto)
  3. Abilita il dispositivo in Gestione dispositivi
  4. adb start-server

Gestione dispositivi, menu "Visualizza", "Dispositivi per connessione":

inserisci qui la descrizione dell'immagine


4

Inizialmente ho riscontrato lo stesso problema (con ADB / fastboot scaricato da GitHub ), ma alla fine sono riuscito a farlo funzionare. Cosa ha funzionato per me:

  • SDK Android. Versione ADB: 1.0.31
  • Uso della porta USB anteriore ( MacBook Pro 15 ")
  • Riavvio del telefono dopo aver abilitato le opzioni Dev e il debug USB (farlo 7 volte toccare impostazioni> sul telefono> build).
  • Uccidi il server adb nel caso in cui nessun dispositivo sia elencato (adb kill-server)
  • L'icona di debug dovrebbe essere visibile sul telefono.
  • Assicurati di sbloccare la schermata di blocco per verificare la finestra di dialogo di conferma dell'impronta digitale RSA.

4

Installato l'ultimo Android SDK.
Modificata la porta USB del dispositivo.
Modificato da MTP -> Solo addebito -> MTP.
Ha funzionato.


1
Per me, il passaggio da "Trasferimento di file multimediali" a "Trasferimento di immagini" (che è PTP / MTP) ha risolto il problema (dopo aver provato tutte le altre correzioni, incluso l'aggiornamento di SDK Android, l'utilizzo di cavi diversi, il riavvio di ADB, la modalità di sviluppo ciclico, lo scollegamento / sostituire USB in diverse porte, ecc.). Questa risposta aveva fastidiosamente 0 punti ed era sulla seconda pagina quando stavo cercando una risposta, quindi ho votato per cercare di aiutare gli altri in futuro.
Steven Craft

3

Se in precedenza hai autorizzato l'impronta digitale RSA del tuo PC e hai provato ad adb kill-server ecc. Senza fortuna, il tuo problema potrebbe essere che stai provando a connetterti mentre è bloccato. Prova a premere il pulsante dello schermo e inserisci il tuo schema: questo mi ha risolto.


3

Il modo migliore che ho immaginato è disabilitare e quindi abilitare il dispositivo da Gestione dispositivi ed eseguire il comando adb devices.

  1. Vai alla scheda iniziale e fai clic destro su Computer
  2. Dal menu a discesa, fai clic su Gestisci
  3. Dalla schermata di gestione del computer, fai clic su Gestione dispositivi
  4. Nel riquadro destro, espandi i dispositivi portatili per trovare il tuo dispositivo
  5. Fare clic con il tasto destro sul nome del dispositivo e fare clic su disabilita nel menu a discesa
  6. Quando viene disabilitato, ripetere il passaggio 5 tranne per abilitarlo.

Il dispositivo tornerà online. È più veloce.


3

Un'altra possibilità per le persone con connessioni ADB instabili e se si trovano su un Mac e dispongono di Android File Transfer installato : ho scoperto che il trasferimento di file interferiva con la mia connessione ADB, causando l'interruzione del funzionamento intermittente.

Uccidere il Android File Transfer Agent.appprocesso che cerca dispositivi compatibili (ad esempio, il Nexus 7) che è collegato al Mac cura la debolezza per me.


1
Questo è stato ciò che mi ha causato il problema su OS X, grazie!
adaam,

3

Dato che nessuno ha dato una risposta alla mia situazione: potresti non avere accesso al file ~ / .android / adbkey. Se inizialmente avvii adb con sudo, genererà una coppia di chiavi pubbliche, scrivendola su ~ / .android / adbkey.pub e ~ / android / adbkey. Naturalmente, la chiave privata è chmod 600, leggibile solo per root nella directory home. Successivamente l'avvio di adb come utente normale non darà accesso al file della chiave privata, che a sua volta fallirà silenziosamente con "dispositivo offline".


3

Quello che ho risolto per me su Mac è stato l'aggiornamento adball'ultima versione (1.0.32). Ora riesco a vedere di nuovo il mio dispositivo online


3

Il motivo per cui un dispositivo deve essere segnalato come offline è che adb non può connettersi ad esso. L'eseguibile adb dall'ambiente di sviluppo crea una connessione (socket) con il dispositivo sotto controllo. Il dispositivo ha un servizio (demone) che ascolta questa comunicazione. Il demone si chiama adbd (come in adbdaemon). Quando si abilita adb su un dispositivo, infatti, si avvia questo demone, quindi è possibile stabilire comunicazioni con il dispositivo.

Quando il dispositivo viene segnalato da adb come offline è perché il daemon non è più in esecuzione o si trova in uno stato che non accetta connessioni. Il più delle volte ciò accade se la rete si interrompe su una connessione (di rete) attiva.

L'unico modo per risolvere il problema era riavviare il dispositivo. Si può arrivare a correggere lo stato offline con molti altri mezzi ma il riavvio del dispositivo funziona sempre.


3

Quando mi trovo ad affrontare gli stessi problemi che a fare come di seguito:

  1. Riavvia adb inviando adb kill-server seguito da adb start-server in un prompt dei comandi
  2. Disabilita e riattiva il debug USB sul telefono
  3. Riavvio del telefono se continua a non funzionare. Il 99% dei miei problemi è stato risolto con questi passaggi.

4. Prova a collegare un cavo a un altro slot USB. Nel mio caso è stato di aiuto.
dredkin,

2

È solo perché il tuo computer non ha il driver giusto. Per risolvere il problema:

  1. Scarica ed estrae Android SDK

  2. Vai a Gestione dispositivi (fai clic destro su Computer -> Proprietà -> Gestione dispositivi

  3. Nel riquadro destro espandi i dispositivi portatili per trovare il tuo dispositivo

  4. Fare clic con il tasto destro sul nome del dispositivo e fare clic su Aggiorna software driver

  5. Sfoglia il mio computer per il software del driver

  6. Passare alla cartella SDK Android al passaggio 1.

  7. Successivamente e il gioco è fatto


Lo stesso per me su Windows 7 e con Nexus 7. Ha smesso di funzionare, ho rimosso il driver, l'ho installato di nuovo e ha funzionato
Michał K

Nel mio caso, è il mio driver del controller USB 3.0 che non funziona! Non driver per il telefono!
VCD,

2

Prova a riavviare il server adb come segue:

adb kill-server

adb start-server

Ho anche riscontrato gli stessi problemi dei tuoi. E il riavvio del server adb risolverà questo problema.


2

Ho aggiornato molte volte, fino a quando non ho più potuto aggiornare, ma non ho mai ricevuto una richiesta sul mio schermo; Continuavo a mettere offline il dispositivo.

Il mio problema era che stavo eseguendo il comando ADB da una directory diversa da quella che veniva effettivamente aggiornata.

La directory aggiornata corretta per l'exe ADB è:

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

2

Riavvia il dispositivo. Ho provato tutto quanto elencato qui per far funzionare il mio telefono HTC (con Android 4.0.3), ma adb devicescontinuavo a dire che era offline. Dopo aver riavviato il telefono, era finalmente online. Alcuni degli altri suggerimenti qui potrebbero aver contribuito al riconoscimento del telefono, ma fare alcuni riavvii lungo il percorso mentre li stai provando sicuramente non farà male.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.