Perché abbiamo bisogno di Kies (driver ADB) in Windows ma non in Linux?


11

Perché abbiamo bisogno di un driver ADB in Windows ma non in Linux?

Ho lavorato su Android negli ultimi mesi in Windows. Per eseguire il mio progetto sul mio dispositivo Samsung ho dovuto prima installare Kies. Allo stesso modo per il mio dispositivo LG c'è un driver LG ADB e un altro per HTC.

Ma quando sono passato a Ubuntu Linux di recente, non avevo bisogno di altri driver come Kies e ADB. Sono stato in grado di eseguire il debug direttamente senza alcun driver di terze parti. Perché?

So che è qualcosa di molto comune, ma non ho trovato nulla che spieghi perché sia ​​così.


aggiunto l'aggiornamento n. 2 alla mia risposta
geffchang,

Risposte:


5

Chor WaiChun lo ha menzionato in una domanda bloccata che hai pubblicato su StackOverflow :

Ho visto da qualche parte che questo comportamento è dovuto al fatto che sia Android che Linux funzionano sullo stesso kernel, e la stessa situazione va allo sviluppo di Android su Mac. Entrambi i sistemi operativi funzionano con un kernel del sistema operativo molto simile con Android, ecco perché non hanno bisogno di alcun driver. Questi sono solo qualcosa che mi sono ricordato di aver visto da altri thread, non posso dare il 100% sicuro

AGGIORNAMENTO N. 1: il sito Android menziona anche questo:

Se stai sviluppando su Windows e desideri connettere un dispositivo Android per testare le tue applicazioni, devi installare il driver USB appropriato. ...

Se stai sviluppando su Mac OS X o Linux, probabilmente non è necessario installare un driver USB. Per iniziare a sviluppare con il tuo dispositivo, leggi Utilizzo dei dispositivi hardware.

AGGIORNAMENTO # 2: C'è un commento su StackOverflow riguardo libusb. Penso che questo potrebbe essere il motivo per cui Linux non ha bisogno di driver aggiuntivi.

In realtà adb sotto Linux accede ai dispositivi USB usando libusb senza alcun driver del kernel specifico. Adb ha anche un elenco di ID fornitore che è consentito utilizzare, ma ciò non spiega il problema in questione, poiché gli ID fornitore per entrambi i telefoni sono gli stessi. E in caso di problemi di autorizzazione dovuti a regole udev mancanti, i dispositivi adb mostrano chiaramente "nessuna autorizzazione" nell'elenco, quindi anche questa non è la causa di questo problema.


la mia domanda è: perché? Hai qualche link e tutto in modo che io possa avere un'idea totale, +1 per la risposta però!
Hemantsb,

0

Non sono sicuro del motivo per cui Linux in genere non richiede un driver ADB specifico.

Tuttavia, esiste un driver USB universale ADB per Windows che funziona con la maggior parte dei dispositivi Android. È stato sviluppato da Koushik Dutta (Koush), un famoso sviluppatore Android che lavora su ClockworkMod. Dovrebbe funzionare abbastanza bene per te. Scarica qui: http://koush.com/post/universal-adb-driver


Penso che tu abbia frainteso la mia domanda, la mia domanda è perché questo comportamento è, e so del driver universale ADB.
Hemantsb,

0

Come altri hanno già risposto, in Linux esiste un driver USB comune, che adb utilizza. Sembra che in Windows non esista un driver USB comune, quindi adb utilizza il driver "fornito", diverso per ogni dispositivo / produttore.


1
In Windows non è preinstallato alcun driver universale . Ce n'è uno disponibile, come ha sottolineato Neil . Dall'altro lato: non c'è Kies su Linux, quindi non hai bisogno del driver Kies #D
Izzy
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.