Pourquoi avons-nous besoin de Kies (pilote ADB) sous Windows mais pas sous Linux?

11

Pourquoi avons-nous besoin d'un pilote ADB sous Windows mais pas sous Linux?

Je travaille sur Android depuis quelques mois sous Windows. Pour exécuter mon projet sur mon appareil Samsung, j'ai d'abord dû installer Kies. De même pour mon appareil LG, il y a un pilote LG ADB et un autre pour HTC.

Mais lorsque je suis passé à Ubuntu Linux récemment, je n'avais pas besoin d'autres pilotes comme Kies et ADB. J'ai pu déboguer directement sans aucun pilote tiers. Pourquoi donc?

Je sais que c'est quelque chose de très courant, mais je n'ai rien trouvé qui explique pourquoi c'est le cas.

hemantsb
la source
ajouté la mise à jour # 2 à ma réponse
geffchang

Réponses:

5

Chor WaiChun l'a mentionné sur une question verrouillée que vous avez publiée sur StackOverflow :

J'ai vu quelque part que ce comportement est dû au fait qu'Android et Linux fonctionnent sur le même noyau, et la même situation concerne le développement d'Android sur Mac. Les deux OS fonctionnent dans un noyau OS très similaire avec Android, c'est pourquoi ils n'ont pas besoin de pilotes. Ce ne sont que quelque chose dont je me suis souvenu avoir vu d'autres discussions, je ne peux pas être sûr à 100%

MISE À JOUR # 1: Le site Android mentionne également ceci:

Si vous développez sous Windows et souhaitez connecter un appareil Android pour tester vos applications, vous devez installer le pilote USB approprié. ...

Si vous développez sur Mac OS X ou Linux, vous n'avez probablement pas besoin d'installer un pilote USB. Pour commencer à développer avec votre appareil, lisez Utilisation des appareils matériels.

MISE À JOUR # 2: Il y a un commentaire sur StackOverflow concernant libusb. Je pense que cela peut être la raison pour laquelle Linux n'a pas besoin de pilotes supplémentaires.

En fait, adb sous Linux accède aux périphériques USB en utilisant libusb sans pilote de noyau spécifique. Adb a également une liste d'ID de fournisseurs qu'il est autorisé à utiliser, mais cela n'explique pas le problème en question, car les ID de fournisseurs pour les deux téléphones sont les mêmes. Et en cas de problèmes d'autorisation dus à des règles udev manquantes, les périphériques adb affichent clairement «aucune autorisation» dans la liste, ce n'est donc pas non plus la cause de ce problème.

geffchang
la source
ma question est pourquoi? Avez-vous des liens et tout pour que je puisse avoir une idée totale, +1 pour la réponse!
hemantsb
0

Je ne sais pas pourquoi Linux ne nécessite généralement pas de pilote ADB spécifique.

Cependant, il existe un pilote ADB Windows USB «universel» qui fonctionne avec la plupart des appareils Android. Il a été développé par Koushik Dutta (Koush), un développeur Android célèbre qui travaille sur ClockworkMod. Cela devrait très bien fonctionner pour vous. Téléchargez ici: http://koush.com/post/universal-adb-driver

Neil Schaper
la source
Je pense que vous avez mal compris ma question, ma question est pourquoi ce comportement, et je connais le pilote ADB universel.
hemantsb
0

Comme d'autres ont déjà répondu, sous Linux, il existe un pilote USB commun, qu'Adb utilise. Il semble que sous Windows il n'y ait pas de pilote USB commun, donc adb utilise le pilote "fourni" - différent pour chaque périphérique / fabricant.

miko
la source
1
Sous Windows, aucun pilote universel n'est préinstallé . Il y en a un disponible cependant, comme l'a souligné Neil . De l'autre côté: il n'y a pas de Kies sous Linux, donc vous n'avez pas besoin de pilote Kies #D
Izzy