开发者

How to make a Windows ADB driver as simple as the existing Linux ADB driver?

For some reason on Windows you need a different driver for every device to work with ADB. In Linux you just add the ID's to a file. We have been trying to figure out how to make a more universal ADB driver for windows, as we use ADB in a 2 part program that has a desktop component and an android component. We do not want to install 100 different device drivers to make sure our program works for every device, however we have Windows OS as a requirement so we can't just开发者_高级运维 switch to Linux.

Why is it so simple to make ADB work on all kinds of devices on Linux (by simply adding the manu ID to a file), but on Windows we need a different device driver for every single device? What direction can we take to come up with a universal ADB driver that works for every android device on Windows as it already does on Linux?

Thanks very much, please let me know what I can do to clarify if this is unclear.


While I cannot provide a definitive answer I can offer these words that may provide some explanation:

Taken from Linux Device Drivers, 3rd Edition, O'Reilly, Chapter 1 "Classes of Devices and Modules"

The Linux way of looking at devices distinguishes between three fundamental device types. Each module usually implements one of these types, and thus is classifiable as a char module, a block module, or a network module. This division of modules into different types, or classes, is not a rigid one; the programmer can choose to build huge modules implementing different drivers in a single chunk of code.

From a Linux User's point of view what this means is that very often they will find that a Linux system will very often now 'recognise' a given device without need for specific drivers, or (hopefully) at least basic OS support will automatically be provided for these devices enabling applications to use them. I'm no expert on Windows having moved to Linux after the Vista debacle (and have never looked back) but I ALWAYS remember having to load device drivers whenever I got a new device even if it were a memory stick (yet had already used other types of memory stick on the computer!)

I believe it's just the way Windows was designed but why that particular way I do not have any idea. I would assume therefore that under Linux, ADB recognises all Android devices under one device type whereas Windows cannot hence the need for numerous device drivers in Windows.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜