Ubuntu non rileva il mio dispositivo Android


34

Sono nuovo di Android. Ho appena scaricato e installato Android SDK. Ora, quando eseguo l'applicazione da eclipse, il mio dispositivo non viene rilevato. Ho cercato su Google e mi è stato proposto come soluzione, ma anche questo non ha funzionato.

Ecco il 51-android.rules

SUBSYSTEMS=="usb", ATTR{idProduct}=="0bb4",  ATTR{idProduct}=="0c03", MODE="0666", GROUP="plugindev", OWNER="<username>"

Dopodiché ho riavviato il mio laptop ed ho eseguito questo comando:

username@laptopname:~/Android/adt-bundle/sdk/platform-tools$ adb devices

L'output che ottengo è:

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
????????????    no permissions

MODIFICARE

crazydeveloper@crazydeveloper:~$ lsusb
Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.) 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b337 Chicony Electronics Co., Ltd 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/004/
ls: cannot access /dev/bus/usb/004/: No such file or directory
crazydeveloper@crazydeveloper:~$ 

Modifica: 2

Dopo la risposta inviata ecco l'output che ho ottenuto:

crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/002
total 0
crw-rw-r--  1 root root    189, 128 May  7 09:45 001
crw-rw-r--+ 1 root root    189, 129 May  7 09:45 002
crw-rw-rw-  1 root plugdev 189, 130 May  7 09:48 003

Sto usando Micromax Canvas 2.2 A114 - Versione Android 4.2.2

Mi aiuti per favore. Grazie.


2
Il debug USB è attivato su Android?
Jon Hanna,

Sì. è acceso.
Saiyan Prince,


1
Dovrebbe essere SUBSYSTEM, singolare.
Pakman,

Risposte:


42

OK, ecco tutti i passaggi per farlo funzionare. Ho avuto problemi con tutte le risposte che ho trovato online, frammenti ovunque senza un certo ordine e nessuna soluzione funzionante, (con Android Studio, Jmonkey 3D e Ubuntu 14.04)

Se i dispositivi adb mostrano il dispositivo Android come ????????? (nessuna autorizzazione) segui queste istruzioni:

  1. creare il file /etc/udev/rules.d/51-android.rules

    sudo gedit /etc/udev/rules.d/51-android.rules
    
  2. copia e incolla i contenuti di seguito:

    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666", GROUP="plugdev"    
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666", GROUP="plugdev"  
    SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666", GROUP="plugdev" 
    
  3. Eseguire il comando seguente per modificare le autorizzazioni del file:

    sudo chmod a+r /etc/udev/rules.d/51-android.rules
    
  4. collega il tuo telefono via usb ed esegui il seguente comando:

    lsusb
    

    Cerca il tuo dispositivo (i) Esempio (Nexus 5):

    Bus 003 Dispositivo 074: ID 18d1 : 4ee7 Google Inc.

    Per Nexus 5 , l'ID fornitore è 18d1 , il mio è sul bus " 003 " Se non si vede alcun cambiamento quando si collega il dispositivo con lsusb , forse il cavo USB è solo in carica.

  5. Ora ricaricare le regole con i seguenti comandi:

    sudo udevadm control --reload-rules
    sudo service udev restart
    sudo udevadm trigger
    
  6. Verifica che il dispositivo ora consenta l'accesso al gruppo di utenti plugdev

    ls -l /dev/bus/usb/<bus number from step 4>
    

    Esempio:

    ls -l /dev/bus/usb/003
    crw-rw-rw- 1 root plugdev 189, 329 Jul  3 18:23 074
    
  7. Esegui i dispositivi adb per confermare che le autorizzazioni siano corrette e divertiti!

Nota: se non hai creato il gruppo plugdev e hai aggiunto il tuo nome utente (se l'autorizzazione ha negato anteponi "sudo" seguenti comandi):

  1. Aggiungi gruppo plugdev:

    groupadd plugdev
    
  2. Aggiungi il tuo nome utente al gruppo plugdev (useradd -G {nome-gruppo} nome utente):

    useradd -G plugdev billy
    
  3. Riavvia udev (potrebbe essere necessario disconnettersi e riconnettersi per aggiornare il gruppo di utenti):

    sudo service udev restart
    

@EvanCarrol: la tua modifica è meglio come passaggio 0 prima di iniziare, non nel mezzo (scusami per il rifiuto, ma lì sta rendendo la risposta meno chiara invece che più chiara): /
Fabby

Questa risposta funziona bene. Dopo l'aggiornamento alla 15.10, devo farlo dopo ogni riavvio. Funziona alla grande.
Siamo a Borg il

Posso chiamarlo Risposta sexy ... mi hai reso felice grazie amico ...
Tushar Pandey,

5

Prova il gruppo plugdevanziché plugindev. Quindi riavviare udev:

sudo udevadm control --reload-rules
sudo service udev restart

Se questo non funziona, scopri esattamente dove è collegato il tuo dispositivo con lsusb. Quindi controlla le autorizzazioni:

ls -l /dev/bus/usb/YOUR_USB_BUS_NO/

Il fatto che lsusbci ha dato:

Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.)

significa che il tuo cellulare è collegato al Bus 002 come dispositivo 004. Pertanto udev ha creato l'oggetto dispositivo /dev/bus/usb/002/004.

Mostraci le autorizzazioni del dispositivo usando il comando:

ls -l /dev/bus/usb/002/004

Come soluzione temporanea potresti rendere il mondo del dispositivo leggibile / scrivibile con questo comando (assicurati che il tuo telefono sia collegato):

sudo chmod 666 /dev/bus/usb/002/004

Quindi riprovare adb devices.

Inoltre ho notato che alla fine della regola udev hai OWNER="<username>". In realtà lo hai sostituito con OWNER="crazydeveloper", vero?

Le tue autorizzazioni sono un po 'OK. udev ha prelevato il dispositivo e impostato le autorizzazioni su 666 e il gruppo su plugdev. Non ha impostato il proprietario su crazydeveloper per qualche motivo, ma non è così importante.

Assicurati di essere un membro del gruppo plugdev. Usa questo comando:

sudo useradd -G plugdev crazydeveloper

Quindi disconnettersi, scollegare il cellulare, accedere nuovamente, collegarlo e riprovare adb devices. Fa sapere cosa sta succedendo.


per favore, vedi la domanda ora ...
Saiyan Prince,

controlla la domanda ora.
Saiyan Prince,

Also I noticed that at the end of the udev rule you have OWNER="<username>". You did actually replace that with OWNER="crazydeveloper", didn't you ?Mi ha aiutato. Grazie :): D
Yash Sodha,

Ho seguito il tuo consiglio ma non ha funzionato per me. Ciò che ha funzionato è passare attraverso le opzioni USB fornite dal dispositivo, prova a passare a PTP da MTP. Questo ha funzionato per me.
George D,

4

Devi cambiare 2 cose:

  1. Cambia il primo 'ATTR {idProduct}' in 'ATTR {idVendor}' nel file 51-android.rules.

  2. Esegui questi comandi dal terminale:

    sudo ./adb kill-server
    sudo ./adb start-server
    sudo ./adb devices
    

3

È forse un banale errore, come posso vedere nel 51-android.rules, hai raddoppiato il parametro idProduct e non c'è idVendor, prova a rinominare semplicemente.


1

Il mio dispositivo Android aveva il debug USB su cui sembrava essere un problema, quindi sono andato alle impostazioni dello sviluppatore e l'ho spento. Ho ricollegato il cavo USB e quindi è stata aperta una finestra che mi ha permesso di attivare l'archivio USB. Ciò ha fatto sì che Ubuntu 14.04 rilevasse il dispositivo Android. Non so se tutti i dispositivi hanno questa impostazione, ma ha risolto il mio problema, mentre ho provato tutti gli altri metodi. Grazie


0

Ho avuto lo stesso problema con il mio dispositivo Android (HTC One (M7)) in Ubuntu 14.04. Quindi ho riavviato Windows 7.0. Ho trovato lo stesso problema anche lì. Durante la ricerca ho trovato il seguente link. http://www.makeuseof.com/answers/why-is-my-windows-7-laptop-not-detecting-any-android-devices/

Ho composto * # 7284 # come suggerito da Gerry Anthony in quel link. E ha funzionato su Windows. Ho riavviato Ubuntu 14.04 e il mio dispositivo Android è stato rilevato.



0

Dopo aver provato ognuna delle potenziali soluzioni descritte sopra e in altri thread di altri forum, ho scoperto che il motivo per cui il mio HOX aveva deciso di non comunicare più con il mio laptop (14.04) era più semplice, meccanico. Il cavo USB alla presa micro USB del portatile era difettoso. Usando il cavo o / e che era sempre sembrato più rigido e meno probabile che durasse rispetto a quello generico acquistato all'AsDa, è stato ripreso il normale servizio.

Il DMM è stato quindi impiegato per mostrare come si era verificato esattamente questo stato di cose: la resistenza del filo di alimentazione + 5V in quel piombo era aumentata al punto in cui era quasi aperta. Valore R di o / e, il filo + 5V del piombo taggato HTC era solo leggermente più resistivo di un corto corto e non essendo particolarmente ben funzionante sul funzionamento o sul layout di micro USB no, non riuscivo a capire come questo influenzasse il trasferimento dei dati in entrambi i casi può solo supporre che la guida di alimentazione nella scheda I / O su uno o entrambi i dispositivi utilizzi la parte + 5V di uno o entrambi i socket per il trasferimento dei dati.

Quello che ho imparato qui: controlla prima le cose più semplici, prima di estrarre i capelli senza arrivare da nessuna parte con il software installato, tutto ciò è stato ripristinato come era stato prima che l'errore si manifestasse in primo luogo!

HTC - 1, fornitore di cavi per caseifici associati - 0.


-1

Dovrebbe essere così:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c03", MODE="0666"

Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti a un autore, lascia un commento sotto il suo post: puoi sempre commentare i tuoi post e una volta che avrai una reputazione sufficiente sarai in grado di commentare qualsiasi post .
Fabby

@Fabby Sembra un tentativo di rispondermi alla domanda ..
Seth
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.