Non sono sicuro di aver mai risolto questo problema, ma mi sono imbattuto in questo problema e ho provato molte procedure diverse, ognuna delle quali avrebbe potuto aiutare gli altri, ma questo è il 2016 e un riepilogo potrebbe aiutare.
Un telefono nuovo di zecca acquistato nel 2016 non ha funzionato quando ho installato Android Studio su Linux. Un telefono acquistato nel 2015 ha funzionato senza problemi. Un nuovo telefono non ha funzionato con la stessa identica configurazione.
Quando ho Android Studio aperto, il gestore AVD non ha mostrato il nuovo telefono, ma ha mostrato quello vecchio. Il vecchio telefono, quando collegato alla presa USB, lanciava una finestra di dialogo che mi chiedeva di confermare l'impronta digitale della chiave RSA, ma il nuovo telefono non mostrava la stessa finestra di dialogo quando collegato.
Ho trovato un suggerimento su
/programming/18011685/cant-connect-nexus-4-to-adb-unauthorized
e l'ho provato e ha funzionato per me.
Ho rimosso due file adbkey e adbkey.pub da ~ / .android. Apparentemente Android-Studio rileva questo e crea immediatamente le chiavi. Non appena ciò si verifica, il nuovo telefono ha aperto la finestra di dialogo e ha iniziato a funzionare. Sono in grado di vedere il telefono nel menu AVD di Android-Studio e iniziare a eseguire le applicazioni.
versione adb 1.0.31, MA, se provo a eseguire "dispositivi adb" sulla riga di comando, Android-Studio smette di mostrare questo telefono nel menu AVD.
Continuo a non vedere il telefono (ma questo non mi disturba perché sono in grado di vedere il telefono dal menu AVD). L'utilità della riga di comando adb mostrava solo un emulatore in esecuzione, ma non il telefono collegato in modalità di debug, uno che è stato visualizzato nel menu AVD, fino a quando non è stato eseguito il comando.
$ adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
emulator-5554 device
A questo punto, ricollegare il telefono non aiuta. Il menu AVD mostrava solo l'emulatore che era ancora in esecuzione sul mio computer.
Devi eseguire "adb kill-server". Una volta fatto ciò, e se si apre il menu AVD, Android Studio inizializza il proprio ADB e il telefono viene visualizzato nel menu AVD.
versione adb 1.0.31 Android Studio 2.1
Quindi in sintesi: due cose.
- Elimina adbkey e adbkey.pub da ~ / .android mentre Android Studio è aperto.
- Non eseguire l'utilità della riga di comando adb. Funziona con l'istanza del server gestita da Android Studio. L'istanza del server dalla riga di comando funziona per alcuni telefoni, ma non per tutti. Android-Studio funziona con tutti i telefoni che ho.
Tutto quanto sopra è ovviamente dopo essersi assicurati:
- tocchi 7 volte il numero di build e abiliti la modalità di debug USB ...
- provato più volte a "revocare le autorizzazioni di debug"
- ho provato a riavviare il telefono alcune volte
- abilita / disabilita / abilita la modalità debug USB,
Tutti i passaggi precedenti sembravano cose da voodoo da provare, ma essenzialmente non funzionavano, tranne quelli che ho elencato sopra.
(Aggiornamento: aggiunta di questa riga che era originariamente un commento, ma appartiene alla risposta).
Ho anche dovuto aggiungere l'ID fornitore del nuovo telefono al file /etc/udev/rules.d/51-android.rules per aiutare a identificare il nuovo telefono e impostare le autorizzazioni.