2011-10-04 65 views
2

对于Windows上的一些原因,你需要不同的驱动程序为每个设备与亚行的合作。在Linux中,您只需将ID添加到文件中即可。我们一直在试图弄清楚如何为Windows创建更通用的ADB驱动程序,因为我们在一个包含桌面组件和android组件的2部分程序中使用ADB。我们不希望安装100个不同的设备驱动程序,以确保我们的程序适用于每个设备,但是我们将Windows操作系统作为要求,所以我们不能只切换到Linux。如何使Windows ADB驱动程序与现有的Linux ADB驱动程序一样简单?

为什么让ADB在Linux上的各种设备上工作(通过简单地将manu ID添加到文件中)是如此简单,但在Windows上,我们需要为每个设备使用不同的设备驱动程序?我们可以采取什么方向来设计一个通用的ADB驱动程序,它适用于Windows上的每个Android设备,因为它已经在Linux上运行了?

非常感谢,请让我知道我可以做什么澄清,如果这还不清楚。

+0

这可能听起来愚蠢的,但为什么不使用Linux为您的桌面组件? –

+0

我们的要求之一就是程序必须在Windows上运行。我们之前在Linux上运行它,但需求改变了:\ – jhnclvr

回答

2

虽然我不能提供一个确切的答案,我可以提供这些话可能会提供一些解释:

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

采取的看着设备用Linux的方法三个基本设备 类型之间的区别。每个模块通常实现这些类型中的一种,并且因此是分类为 炭模块,块模块,或一个网络模块。将模块划分成不同的类型或类别不是一个严格的模块;程序员可以选择在单个代码块中构建实现不同驱动程序的巨大 模块。

从Linux用户的角度来看这是什么意思的是,很多时候,他们会发现,Linux系统会经常联系“认识”给定的设备,而不需要特定的驱动程序,或者(希望)至少基本OS将自动为这些设备提供支持,使应用程序能够使用它们。我并不是Windows的专家,在Vista崩溃之后移植到Linux(并且从未回过头来看),但是我总是记得在我有新设备的时候不得不加载设备驱动程序,即使它是一个记忆棒(但已经使用过其他设备计算机上的记忆棒类型!)

我相信这只是Windows的设计方式,但为什么这种特殊的方式我没有任何想法。因此,我认为在Linux下,ADB可以识别一种设备类型下的所有Android设备,而Windows不能因此需要Windows中的众多设备驱动程序。