Autore Topic: [facile] Far riconoscere un qualunque dispositivo Android all’ADB in Ubuntu  (Letto 22464 volte)

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Livello di difficoltà: facile
Versione SDK utilizzata: 2.2
Link al file compresso del progetto eclipse: non necessario

Seguire questo tutorial solo nel caso in cui il dispositivo non venga riconosciuto automaticamente.

In questo tutorial cercherò di spiegare come far riconoscere un qualunque dispositivo all’Android SDK e ai tools ADB e Fastboot sotto Ubuntu 11.04.

Per prima cosa si deve scaricare l’Android SDK per Linux.
Terminato il download dell’archivio per la piattaforma Linux decomprimerlo nella home dell’utente (il percorso completo dovrebbe essere qualcosa di simile: /home/<tua_home>/adt-bundle-linux/sdk).

Ora è necessario aggiungere il path della directory tools dell’Android SDK al nostro file .bashrc.
Utilizzando il l’editor di fiducia aprire il file .bashrc ed inserire alla fine le seguenti righe:
Codice (Bash): [Seleziona]
#AndroidDev PATH
PATH=$PATH:$HOME/adt-bundle-linux/sdk/tools:$HOME/adt-bundle-linux/sdk/platform-tools
export PATH

A questo punto occorre inserire delle regole specifiche per il'USB Vendor ID del proprio dispositivo.

Create il file contenente le regole digitate il seguente comando:
Codice (Bash): [Seleziona]
sudo gedit /etc/udev/rules.d/99-android.rules
Incollate al suo interno le seguenti regole:
Codice (Bash): [Seleziona]
#Acer
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
#ASUS
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666"
#Dell
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666"
#Foxconn
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
#Fujitsu
SUBSYSTEM=="usb", ATTRS{idVendor}=="04c5", MODE="0666"
#Fujitsu Toshiba
SUBSYSTEM=="usb", ATTRS{idVendor}=="04c5", MODE="0666"
#Garmin-Asus
SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666"
#Google
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
#Hisense
SUBSYSTEM=="usb", ATTRS{idVendor}=="109b", MODE="0666"
#HTC
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
#Huawei
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
#K-Touch
SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666"
#KT Tech
SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666"
#Kyocera
SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666"
#Lenovo
SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666"
#LG
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
#Motorola
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
#NEC
SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666"
#Nook
SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666"
#Nvidia
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666"
#OTGV
SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666"
#Pantech
SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666"
#Pegatron
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666"
#Philips
SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666"
#PMC-Sierra
SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666"
#Qualcomm
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"
#SK Telesys
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666"
#Samsung
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
#Sharp
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666"
#Sony
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", MODE="0666"
#Sony Ericsson
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
#Teleepoch
SUBSYSTEM=="usb", ATTRS{idVendor}=="2340", MODE="0666"
#Toshiba
SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666"
#ZTE
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666"

Con i comandi sopra riportati si è creato un file contenente delle regole per il device manager del kernel Linux, ora si devono assegnare i giusti permessi:
Codice (Bash): [Seleziona]
sudo chmod 644 /etc/udev/rules.d/99-android.rules
A questo punto rimane solo da riavviare udev e staccare e riattaccare il dispositivo:
Codice (Bash): [Seleziona]
sudo service udev restart
Per poter comunicare con adb è necessario abilitare USB Debugging sul vostro dispositivo.

Prendendo in mano il telefono e partendo dalla Home compiamo in sequenza le seguenti azioni: Tasto Menu -> Impostazioni -> Applicazioni -> Sviluppo -> Abilitare Debug USB.

Se già non lo è, collegare il cavo USB e, accertandosi di essere nella directory tools/ dell’Android SDK, digitiare:
Codice (Bash): [Seleziona]
adb kill-server
Seguito da un:
Codice (Bash): [Seleziona]
adb devices
L’output del comando dovrebbe restituire un qualcosa di simile:
Codice (Text): [Seleziona]
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
HT93XXXXXXXX    device

A questo punto il vostro telefono dovrebbe essere  riconosciuto (in caso contrario provate a riavviare il PC).

Fastboot
Configurato correttamente ADB, per poter utilizzare Fastboot è sufficiente seguire questi semplici passi: si deve scaricare il tool da questo indirizzo, decomprimerlo nella sottodirectory tools/ dell’Android SDK e assegnargli i permessi di esecuzione (tasto destro sul file, Proprietà, Permessi e mettere la spunta su «Consentire l’esecuzione del file come programma»).
« Ultima modifica: 13 Dicembre 2012, 10:58:39 CET da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline maxmeridio

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus one
  • Sistema operativo:
    Linux ubuntu
Salve, ho il Karmic a 32bit e riconosce il mio nexus senza inserire le stringhe....è normale?

Grazie
Google Nexus One

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Ma si, finché te lo riconosce non ci sono problemi.
Questa guida l'avevo scritta l'anno scorso per il G1 TIM, è probabile che sia uscito un qualche aggiornamento che non la rende necessaria per il N1.
L'ho comunque utilizzata ieri per far riconoscere un Acer Liquid.

In ogni caso è bene seguirla solo se il telefono non viene rilevato normalmente :).

PS
Sui miei due PC ho eseguito i passaggi del Tutorial per il G1 e il mio nuovo N1 viene riconosciuto senza problemi.
« Ultima modifica: 15 Marzo 2010, 13:30:07 CET da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline ciso

  • Utente junior
  • **
  • Post: 71
  • Respect: +4
    • Mostra profilo
    • AndroidWorld.it
  • Dispositivo Android:
    Motorola Milestone
  • Sistema operativo:
    Ubuntu 10.04
Aggiungo due cose:
1) Se il vendor ID non è della lista o è diverso (e questo capita anche solo cambiando ROM del telefono)! Per trovare il vostro vi basta dare un bel lsusb a telefono connesso.
2) Questa procedura l'ho dovuta fare per tutti i telefoni Android da me provati fino a oggi.

Fonte

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Quando ho iniziato a programmare ho avuto problemi di riconoscimento, risolti poi, appunto, col metodo sopra descritto. Ma é da un pó di tempo che quando uso linux mint (ubuntu derived) non ho piú problemi di riconoscimento..
Postate il LogCat LogCat LogCat LogCat LogCat

Offline Agosh

  • Nuovo arrivato
  • *
  • Post: 39
  • ci penso e poi metto qualcosa
  • Respect: 0
    • Mostra profilo
    • Agosh dot Net
  • Dispositivo Android:
    HTC Magic (32A)
  • Sistema operativo:
    Ubuntu 10.04/Windows 7

Ora è necessario aggiungere il path della directory tools dell’Android SDK al nostro file .bashrc.
Utilizzando il l’editor di fiducia aprire il file .bashrc ed inserire alla fine le seguenti righe:
Codice (Bash): [Seleziona]
#AndroidDev PATH
PATH=$PATH:$HOME/android-sdk-linux_86/tools
export PATH
E' vero! Mi ero dimenticato di mettere il PATH! Grazie, molto più comodo ora! GRAZIE!
A: make me a sandwich!
B: What? Make it yourself!
A: sudo make me a sandwich!
B: okay!

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
e sì, molto più comodo :)
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Agosh

  • Nuovo arrivato
  • *
  • Post: 39
  • ci penso e poi metto qualcosa
  • Respect: 0
    • Mostra profilo
    • Agosh dot Net
  • Dispositivo Android:
    HTC Magic (32A)
  • Sistema operativo:
    Ubuntu 10.04/Windows 7
allora, ho visto che il titolo dice ubuntu 9.10 ma funziona anche sulle altre versioni.
Comunque ho appena finito la configurazione su Kubuntu 10.04
A: make me a sandwich!
B: What? Make it yourself!
A: sudo make me a sandwich!
B: okay!

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Ho scritto Ubuntu 9.10 perché ho testato la guida solo li, ma dovrebbe funzionare tranquillamente su qualunque distribuzione utilizzi udev come device manager (almeno credo).
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

frusso

  • Visitatore
Re:[facile] Far riconoscere un qualunque dispositivo android all’ADB in Ubuntu
« Risposta #9 il: 08 Maggio 2010, 21:08:02 CEST »
0
Grazie, finalmente ci sono riuscito

solo aggiungo che il servizio ADB deve essere lanciato da root altrimenti quando si da il comando adb devices
(almeno a me) da

Codice: [Seleziona]
List of devices attached
????????????        no permissions

cmq. grazie ottima guida

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:[facile] Far riconoscere un qualunque dispositivo android all’ADB in Ubuntu
« Risposta #10 il: 08 Maggio 2010, 21:18:05 CEST »
0
Hai verificato tramite lsusb se USB Vendor ID del tuo telefono corrisponde a quello in tabella? Da quando ho messo la cyanogen sul Nexus il Vendor ID del mio telefono e cambiato.
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline paolobitta

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC diamond
  • Sistema operativo:
    ubuntu 10.04
Re:[facile] Far riconoscere un qualunque dispositivo android all’ADB in Ubuntu
« Risposta #11 il: 15 Giugno 2010, 00:50:56 CEST »
0
salve
io sto cercando di collegare via usb un HTC diamond su ubuntu 10.04
ho aggiunto le regole, modificato i permessi, ho dato restart a udev ma nulla.
non me lo vede nemmeno da lsusb (con windows mobile sì e l'id vendor è giusto)
ho dato dmesg e sembra che quando lo collego nemmeno se ne accorge; l'HTC non mi fa nemmeno l'icona di notifica.

questo problema è un bug segnalato anche sul launch pad e anche lì la soluzione è stessa, ma a me non funziona.

nella stessa presa usb ho collegato un nokia e questo lo vede. ho cambiato lapresa, ma la situazione è la stessa. però  da windows mobile potevo collegarlo e mettere file nella memoria interna, che peccato.
« Ultima modifica: 15 Giugno 2010, 00:56:58 CEST da paolobitta »

frusso

  • Visitatore
Re:[facile] Far riconoscere un qualunque dispositivo android all’ADB in Ubuntu
« Risposta #12 il: 15 Giugno 2010, 09:32:02 CEST »
0
Hai provato da root ?

cioè tipo

sudo adb kill-server

e poi

sudo abd start-server

a me (su ubunto 10.04) solo così funziona.



Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:[facile] Far riconoscere un qualunque dispositivo android all’ADB in Ubuntu
« Risposta #13 il: 15 Giugno 2010, 12:53:07 CEST »
0
Hai attivato la modalità debug sul telefono?

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:[facile] Far riconoscere un qualunque dispositivo android all’ADB in Ubuntu
« Risposta #14 il: 15 Giugno 2010, 12:55:21 CEST »
0
Hai provato da root ?

cioè tipo

sudo adb kill-server

e poi

sudo abd start-server

a me (su ubunto 10.04) solo così funziona.



A me su Arch funzionava pure solo cosí
Postate il LogCat LogCat LogCat LogCat LogCat