为什么在Windows中需要Kies(ADB驱动程序),而在Linux中却不需要?


11

为什么在Windows中需要ADB驱动程序,而在Linux中却不需要?

在过去的几个月中,我一直在Windows中使用Android。要在三星设备上运行项目,必须先安装Kies。同样,对于我的LG设备,有一个LG ADB驱动程序,另一个是HTC。

但是,当我最近转移到Ubuntu Linux时,我不需要任何其他驱动程序,例如Kies和ADB。我能够直接调试,而无需任何第三方驱动程序。这是为什么?

我知道这很普遍,但是我还没有找到任何能解释为什么会这样的东西。


在我的答案中添加了更新#2
geffchang

Answers:


5

Chor WaiChun您在StackOverflow上发布的一个锁定问题中提到了这一点:

我曾在某处看到过这种现象是因为android和linux在同一内核上运行,并且在Mac上开发android的情况也相同。两种操作系统都与Android运行在非常相似的OS内核中,这就是为什么它们不需要任何驱动程序的原因。这些只是我记得从其他线程看到的内容,无法100%确定

更新#1:Android的网站也提到了这一点:

如果您正在Windows上进行开发,并且想连接Android设备来测试您的应用程序,则需要安装适当的USB驱动程序。...

如果您在Mac OS X或Linux上进行开发,则可能不需要安装USB驱动程序。要开始使用设备进行开发,请阅读使用硬件设备。

更新#2:有一个在计算器上评论有关libusb。我认为这可能是Linux不需要其他驱动程序的原因。

实际上,Linux下的adb使用libusb访问USB设备,而没有任何特定的内核驱动程序。另外,adb列出了允许使用的供应商ID列表,但这不能解释所涉及的问题,因为两部手机的供应商ID相同。并且由于缺少udev规则而导致权限问题时,adb设备在列表中清楚地显示“没有权限”,因此这也不是此问题的原因。


我的问题是为什么?您是否有一些链接以及所有链接,以便我能全面了解,但为答案+1!
2013年

0

我不确定为什么Linux通常不需要特定的ADB驱动程序。

但是,有一个适用于大多数Android设备的“通用” Windows USB ADB驱动程序。它由著名的Android开发人员Koushik Dutta(Koush)开发,他从事ClockworkMod。它应该对您来说很好。在此处下载:http : //koush.com/post/universal-adb-driver


我认为您误解了我的问题,我的问题是为什么会这样,而且我知道通用ADB驱动程序。
2013年

0

正如其他人已经回答的那样,在Linux中有adb使用的通用USB驱动程序。似乎在Windows中没有通用的USB驱动程序,因此adb使用“提供的”驱动程序-每个设备/制造商都不同。


1
在Windows中,没有预安装通用驱动程序。正如尼尔指出的那样,这里有一种可用。另一方面:Linux上没有Kies,因此您不需要Kies驱动程序#D
Izzy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.