11 votos

¿Por qué necesitamos Kies (controlador ADB) en Windows pero no en Linux?

¿Por qué necesitamos un controlador ADB en Windows pero no en Linux?

He estado trabajando en Android durante los últimos meses en Windows. Para ejecutar mi proyecto en mi dispositivo Samsung tuve que instalar primero Kies. Del mismo modo, para mi dispositivo LG hay un controlador ADB LG, y otro para HTC.

Pero cuando me cambié a Ubuntu Linux recientemente, no necesité ningún otro controlador como Kies y ADB. Pude depurar directamente sin ningún controlador de terceros. ¿Por qué?

Sé que es algo muy común, pero no he encontrado nada que explique por qué es así.

5voto

verix Puntos 332

Chor WaiChun mencionó esto en un pregunta bloqueada que publicó en StackOverflow :

He visto en algún sitio que este comportamiento se debe a que tanto Android y linux corren en el mismo kernel, y la misma situación se da en el desarrollo de Android en mac. Ambos sistemas operativos se ejecutan en un kernel muy similar al de Android, por eso no necesitan ningún driver. Esto es sólo algo que recordaba haber visto en otros hilos, no puedo asegurarlo al 100%.

ACTUALIZACIÓN #1: El Sitio Android también menciona esto:

Si estás desarrollando en Windows y quieres conectar un dispositivo con Android para probar sus aplicaciones, entonces necesita instalar el controlador USB apropiado. ...

Si estás desarrollando en Mac OS X o Linux, probablemente no necesites instalar un controlador USB. Para empezar a desarrollar con su dispositivo, lea Uso de dispositivos de hardware.

ACTUALIZACIÓN #2: Hay un comentario en StackOverflow con respecto a libusb . Creo que esta puede ser la razón por la que Linux no necesita controladores adicionales.

En realidad adb en Linux accede a los dispositivos USB usando libusb sin ningún controlador específico del kernel. También adb tiene una lista de IDs de proveedores que está puede utilizar, pero esto no explica el problema en cuestión, porque los ID de proveedor para ambos teléfonos son los mismos. Y en caso de problemas de permisos debido a la falta de reglas udev dispositivos adb claramente muestra "sin permisos" en la lista, así que esto tampoco es la causa de este problema.

0voto

Neil Schaper Puntos 101

No estoy seguro de por qué Linux no suele requerir un controlador ADB específico.

Sin embargo, existe un controlador ADB USB "universal" para Windows que funciona con la mayoría de los dispositivos Android. Fue desarrollado por Koushik Dutta (Koush), un famoso desarrollador de Android que trabaja en ClockworkMod. Debería funcionar bastante bien para usted. Descárgalo aquí: http://koush.com/post/universal-adb-driver

0voto

miko Puntos 1

Como otros ya respondieron, en linux hay un controlador USB común, que adb utiliza. Parece que en Windows no hay un controlador USB común, por lo que adb utiliza el controlador "proporcionado" - diferente para cada dispositivo/fabricante.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X