Dispositivi Android ADB non autorizzati


93

Configurazione:

  • Windows 8.1
  • Versione ADB: 1.0.32
  • Smartphone: Oneplus One

Problema

Ho installato i driver Samsung come si dice che faccia. Quando eseguo il comando dei dispositivi ADB, si dice non autorizzato .

Già provato:

  1. Ho fatto tutto quello che era stato detto in questo post: https://stackoverflow.com/a/25546300/1848376

    Ma il problema è che non ricevo una richiesta sul telefono per dirmi che devo accettare la connessione.

  2. Quando eseguo il comando adb shell, ecco la risposta:

    error: device unauthorized.
    This adbd's $ADB_VENDOR_KEYS is not set; try 'adb kill-server' if that seems wrong.
    Otherwise check for a confirmation dialog on your device.

Ho fatto "adb kill-server", ma non ha cambiato nulla. Perché?


Dopo aver provato tutto quanto sopra, ho iniziato a scaricare AVD inferiori per vedere se altri avrebbero funzionato. Le API 28 e 27 si bloccano ancora durante l'avvio, ma l'API 26 è stata avviata. Android Studio 3.1.3 Proverò a disinstallare e reinstallare in un secondo momento, ma sono contento che finalmente funzioni di nuovo. Nuova installazione di Android Studio 3.1 dopo una nuova installazione di Windows 10 dopo aver affrontato un errore di processo critico per quasi una settimana senza rettifica.
Jon

Risposte:


208
  1. Prova a revocare l'autorizzazione di DEBUG USB.
  2. Abilita nuovamente il debug USB.

Ha funzionato.


8
Quando riattivi il debug USB, potrebbe essere importante selezionare la casella che dice Consenti sempre il debug USB da questo dispositivo. Credo che questa opzione verrà visualizzata solo se il tuo dispositivo Android è collegato a USB quando riattivi il debug USB.
joshgoldeneagle

Ho solo dovuto disabilitare e quindi abilitare il debug USB sul mio dispositivo, dopo essere passato a un nuovo computer (Macbook).
Nancy

Scollegare e ricollegare dovrebbe comunque essere la tua prima mossa.
TGrif

La ringrazio per la risposta. Mi hai risparmiato tempo.
Kelvin Low

Non ho mai pensato di rimanere intrappolato nel "hai provato a spegnerlo e riaccenderlo?" :)
jediz

45

Grazie a Dio esistono sviluppatori xda: http://forum.xda-developers.com/verizon-lg-g3/help/unable-to-access-adb-t2830087

Dovevo solo eliminare il file adbkey in C: Users / $ Name / .android adbkey.pub mancava.

Riavvia dopo questo e entrambi i file sono lì.

Se questo non funziona: - Prova a revocare l'autorizzazione al DEBUG USB. - Abilita nuovamente il debug USB.


1
dov'è questa chiave su un Mac?
Mosaad

1
> Riavvia dopo questo ed entrambi i file sono presenti Come al riavvio? Sono su Windows e sono bloccato con un dispositivo "non autorizzato" che semplicemente non andrà via! (Ma non ho riavviato, perché 2 milioni di finestre aperte)
tbone

1
@tbone So che è una risposta tardiva ma devi solo riavviare il server adb.
Carlos EL Augusto

2
ha cancellato tutto in quel file e non solo ha risolto ADB sulla rete, ma anche USB
Ben

2
ribattezzato per .android.oldandare sul sicuro, ma non appena ho riavviato il server adb e revocato le autorizzazioni, il mio telefono mi ha chiesto subito! @julestruong grazie!
Richard.Davenport

27

In sequenza:

    adb kill-server
  • nella CONFIGURAZIONE DEL DISPOSITIVO, vai a opzioni sviluppatore e disabilita il debug USB

  • premere REVOKE autorizzazioni debug USB, fare clic su OK

  • abilitare il debug USB

    adb start-server

2
Ho eseguito il comando come root in Ubuntu e questo ha risolto il mio problema. Impossibile farlo funzionare senza su (Ubuntu 18).
petobens

20

Ho rimosso i seguenti file dalla cartella ~ / .android :

  • adbkey
  • adbkey.pub

Ho disabilitato e abilitato ADB all'interno del dispositivo e ora funziona ...


1
Ho visto solo il adbkeyfile, quindi l'ho cancellato e ha funzionato a meraviglia. Grazie!
Reeshabh Ranjan

18

in Opzioni sviluppatore,

  1. Abilita il debug USB.

inserisci qui la descrizione dell'immagine

  1. Dare un'autorizzazione.

inserisci qui la descrizione dell'immagine

(se non è presente un menu di opzioni sviluppatore, devi fare clic 3 volte sul numero di build del menu Stato telefono per essere sviluppatore. Puoi visualizzare un menu di opzioni sviluppatore.)

inserisci qui la descrizione dell'immagine


8

Elimina adbkey esistenti

O

Rinomina adbkeys

La procedura migliore è rinominare le chiavi perché fornisce il backup.

cd ~/.Android

mv adbkey adbkey2

mv adbkey.pub adbkey.pub2

Quindi fermati e avvia il server

cd ~/Android/Sdk/platform-tools

Individua il dispositivo /Android/Sdk/platform-tools$ ./adb devices

/Android/Sdk/platform-tools$ ./adb kill-server

/Android/Sdk/platform-tools$ ./adb start-server

Quindi, ferma l'emulatore Apri AVD manager, fai clic sulla freccia in basso, quindi fai clic su cancella dati

Riavvia l'emulatore. Quindi tutto funziona bene :)


5

Prova a deselezionare "verifica app tramite USB" nelle opzioni sviluppatore e quindi attiva e disattiva "Debug USB". Funziona con me.


Questo metodo ha funzionato per me: il mio "Debug USB" era inizialmente ON, quindi deseleziono "Verifica app tramite USB" ma questo non aiuta. Dopo aver acceso e poi su "Debug USB", ha funzionato!
Jackie Yeh

4

Assicurati di aver accettato la pressione del pulsante "ok" quando viene chiesto che sta mostrando l'impronta digitale del dispositivo dopo il collegamento tramite USB al PC.


2
Mi chiedo se le persone che votano per altre risposte abbiano effettivamente controllato lo schermo del dispositivo ...
Skippy le Grand Gourou

LOL Mi sono sentito abbastanza stupido quando ho guardato il mio telefono
Jack St. Claire

4

In Android Studio, Run menu > Runmostra OFFLINE ...per il dispositivo connesso.

Di seguito la procedura seguita per risolverlo:

  1. (Leggi prima la nota sottostante) Elimina il ~/.android/adbkey(o, rinomina in ~/.android/adbkey2, questo è ancora meglio nel caso in cui lo desideri indietro per qualche motivo)
    Nota : mi è capitato di fare questo passaggio, ma non ha risolto il problema, dopo aver fatto tutto il sotto i passaggi ha funzionato, quindi non sono sicuro se questo passaggio è richiesto.

  2. Esegui locate platform-tools/adb
    Nota : usa il percorso che proviene da qui nei comandi seguenti

  3. Uccidi il server adb:
    sudo ~/Android/Sdk/platform-tools/adb kill-server

  4. Riceverai un Allow accept..messaggio popup sul tuo dispositivo. Accettarlo. Questo è importante, che risolve il problema.

  5. Avvia server adb:
    sudo ~/Android/Sdk/platform-tools/adb start-server

  6. In Android Studio, fallo di Run menu > Runnuovo
    Mostrerà qualcosa come Samsung ...(il nome del produttore del telefono).
    Questa volta installa correttamente anche l'apk sul dispositivo senza errori.

Spero che aiuti.


2
  1. Per prima cosa rimuovere adbkeye adbkey.pubdalla .androiddirectory nella directory Home.
  2. Fai la .androiddirectory nella vostra casa con 710 permesso: $ chmod 710 .android/e la proprietà come: chown -R <user>:<user> .android/. Ex:

    $ chmod 710 .android/
    $ chown -R ashan:ashan .android/
  3. Vai alle opzioni sviluppatore nel tuo cellulare e tocca l'opzione Revoke USB debugging authorizations

  4. Spegnere tutto USB Debugginge Developer Optionsnel dispositivo e scollegare il dispositivo dalla macchina.

  5. Collegare nuovamente il dispositivo e prima accendere il Developer Options. Quindi accendi il USB debugging.

  6. A questo punto nel tuo cellulare, riceverai una richiesta per chiederti il ​​permesso. Nota: è necessario selezionare l' always accept from this ….opzione della casella di controllo e fare clic su OK.

  7. Ora a voi la macchina, avviare il server adb: adb start-server.

  8. Si spera che quando emetti il ​​comando: adb devicesora vedrai il tuo dispositivo pronto autorizzato.


1

Anch'io sono stato colpito da questo problema. Sto usando la mia build personalizzata di AOSP su Nexus 5X. Ho aggiunto una singola riga in build / core / main.mk:

diff --git a/core/main.mk b/core/main.mk
index a6f829ab6..555657539 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -362,6 +362,8 @@ else # !enable_target_debugging
   ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0
 endif # !enable_target_debugging

+ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1
+
 ## eng ##

 ifeq ($(TARGET_BUILD_VARIANT),eng)

Ora adb shellfunziona bene

Questi materiali sono utili (articoli cinesi): http://www.voidcn.com/blog/kc58236582/article/p-6335996.html , http://blog.csdn.net/fanmengke_im/article/details/28389439



1

Nessuno dei metodi elencati in questa pagina ha funzionato per me; nello specifico:

  • Ho riscontrato un problema in cui l'app Impostazioni si arrestava in modo anomalo quando si selezionava Revoca autorizzazioni di debug USB
  • Stavo eseguendo LineageOS 14 x86_64
  • Stavo usando ADB sulla rete
  • Non /data/misc/adbconteneva alcun adb_keysfile
  • Anche la rimozione del mio locale ~/.android/adbkeynon ha aiutato
  • Ho avuto accesso come root dal terminale locale
  • Non ho ricevuto alcuna finestra di dialogo di conferma
adb: error: failed to get feature set: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
- waiting for device -

Alla fine, ho trovato un post molto utile qui che suggeriva di inserire manualmente il contenuto di ~/.android/adbkey.puball'interno del /data/misc/adb/adb_keysfile.

Hanno suggerito uno di questi due metodi:

  1. Da un altro dispositivo funzionante , copia il adb_keysfile sul tuo computer:

    # On the other Android device
    cp /data/misc/adb/adb_keys /sdcard
    # From your computer
    adb pull /sdcard/adb_keys .

    Quindi inserisci il adb_keysfile di lavoro nella scheda SD del dispositivo Android problematico (utilizzando Web o MTP) denominata come adb_keys, quindi copia il file nel percorso corretto:

    # On the problematic device
    cp /sdcard/adb_keys /data/misc/adb/adb_keys
  2. L'altro metodo consiste nel copiare semplicemente il computer adbkey.pubdalla ~/.android/directory e inserirlo nella sdcard del dispositivo Android problematico (utilizzando Web o MTP) denominata come adb_keys, quindi copiare il file nel percorso corretto:

    # On the problematic device
    cp /sdcard/adbkey.pub /data/misc/adb/adb_keys

    (Nota: c'è una risposta simile su SO che entra in ulteriori dettagli per questo metodo.)

Dato che stavo eseguendo un server web sul mio computer e avevo curlinstallato su Android, sono suuscito dal terminale e ho eseguito quanto segue sul mio dispositivo Android:

cd /data/misc/adb
curl 192.168.1.35:8080/adbkey.pub > adb_keys

Hai ucciso il adbdemone (usando adb kill-server) e BAM ! Il adbguscio ha funzionato bene, come avrebbe dovuto essere dall'inizio.

Si spera che il metodo qui descritto funzioni per te come ha fatto per me.


1

La tua app viene rilevata come un programma dannoso. Disattiva l'opzione "Verifica app tramite USB". È nella stessa visualizzazione di "Debug USB".


0

Tutto ciò di cui hai bisogno è autorizzare la modalità di debug.
1.Assicurati che il tuo dispositivo sia connesso al tuo PC.
2. Consenti l'autorizzazione per la modalità di debug tramite Android-Studio andando su
Esegui -> Collega il debugger al processo Android di
quanto vedrai la finestra pop-up per consentire la modalità di debug nel tuo dispositivo,
premi OK. fatto.
spero che aiuti a qualcuno.


0

Ho avuto lo stesso problema dopo aver reinstallato il mio studio Android. Ecco cosa ho fatto per far funzionare di nuovo il mio adb:

-path to C:\Users\User\AppData\Local\Android\sdk\platform-tools
-Shift+r.click and start command from here instead.

0

per chiunque lo incontri in seguito, questo può anche aiutare. Ho riscontrato questo problema esatto cercando di utilizzare adb da un prompt dei comandi utente e le risposte sopra non hanno aiutato, ma il problema è andato via con un "adb kill-server" durante l'esecuzione in un prompt dei comandi dell'amministratore.


0

Questo ha funzionato per me:

rm ~ / .android / adbkey.pub

sudo ./adb kill-server

sudo ./adb start-server

sudo ./adb -s emulator-5554 install ~ / apk_to_install.apk

Non sono sicuro che sia una buona idea eseguire adb con i privilegi di sudo, ma è stato l'unico modo per farlo funzionare. Saluti.


0

L'ho ottenuto come root quando come utente non root ricevevo errori di autorizzazione nel tentativo di connettermi al ripristino personalizzato (Philz). quindi ho ucciso il server adb, copiato la sottodirectory .android del mio account utente in / root, ho spostato -R in root.root e riavviato il server adb. Sono dentro!


-1

Suppongo che tu abbia abilitato le Opzioni sviluppatore sul dispositivo nel tuo smartphone? In caso contrario, puoi dare un'occhiata ai passaggi forniti da Android, http://developer.android.com/tools/device.html#developer-device-options


Sì, l'ho fatto e l'ho anche spento e acceso.
julestruong

secondo questo link ( code.google.com/p/android/issues/detail?id=175077 ), sembra che "platform tools 23 rc1" abbia questo problema. Puoi trovare le versioni degli strumenti della piattaforma con "$ adb version" cmd. Il collegamento dice che tornare alla versione 22 di build-tools risolve il problema.
Dhunju_likes_to_Learn

Ho scaricato gli strumenti della piattaforma 22 e l'ho sostituito nella directory sdk, non ha funzionato (la versione adb sembra essere la stessa però)
julestruong

-1

Per FIRE STICK 4K in realtà dice nella finestra di dialogo:

Altrimenti controlla la finestra di dialogo di conferma sul tuo dispositivo

Infatti sulla TV nell'altra stanza c'era una finestra di dialogo di conferma. Doh '!


1
Forse questo potrebbe essere un commento a margine della domanda, ma non è una risposta poiché la domanda riguarda un diverso tipo di dispositivo.
Jairo

-2

Ho avuto questo problema e non è stato risolto eliminando alcuna chiave (almeno l'eliminazione non lo ha risolto, forse ha avuto un effetto dopo averlo risolto)

In realtà ho avuto una discrepanza tra la mia versione di sdk-tools e la mia versione di Android Studio. Dopo aver aggiornato i miei strumenti ancora non funzionava, ma dopo aver aggiornato AS (a 1.4) tutto ha funzionato di nuovo bene.

Aggiorna sempre sia sdk-tools che la versione AS insieme;)

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.