2011-10-04 81 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中的衆多設備驅動程序。