在 android 設備的 Linux 內核中把 USB 驅動的 PID VID 修改以後,也許之前的 adb 工具就不能識別設備了,會列印出 "device not found" 的提示,特別是 windows ,adb 驅動也不能用了。

 

這個時候該怎麼辦呢?

 

一,先搞清現在的 PID ,VID 為多少,例如分別為 aaaa、bbbb(十六進位)

 

對於 linux 如 ubuntu, 插入 設備,再查詢 /sys/bus/usb/ 下的相應設備,如 "1-1" 下的 idVender, idProduct 獲得。

 

對於 windows, 可從相應設備的屬性中獲得

 

二,對於windows:

 

1. 修改 adb 驅動中的 android_winusb.inf 檔。對照著別的專案加就可以了。

 

例如:

 

; My product
%CompositeAdbInterface% = USB_Install, USB\VID_AAAA&PID_BBBB

 

%SingleBootLoaderInterface% = USB_Install, USB\VID_AAAA&PID_BBBB&MI_01

 

2. 右擊我的電腦->屬性->高級->環境變數,添加 ANROID_SDK_HOME 環境變數。如果你有 android SDK, 就設成 SDK 的路徑;如果沒有,那也沒關係,設為你覺得方便的任何路徑。

 

3. 在前面設置的 ANDROID_SDK_HOME 對應的路徑下,尋找 .android 目錄,如果沒有就創建一個;在 .android 目錄下新建一個檔,叫 adb_usb.ini, 記住,尾碼是 "ini" 哦;添加前面獲得的 VID 到 adb_usb.ini 中,如 0xAAAA。

 

4. 然後安裝 adb 驅動

 

5. 進入 DOS cmd, 分別輸入 adb kill-server, adb start-server, adb devices;若能看到 devices 列出,那麼就成功了。

 

三,對於linux

 

1. 在使用者的 home 目錄下,尋找 .android 目錄,如果沒有就創建。在 .android 目錄下新建一個檔,叫 adb_usb.ini, 記住,尾碼是 "ini" 哦;添加前面獲得的 VID 到 adb_usb.ini 中,如 0xAAAA。

 

2. 在 shell 中 分別輸入 adb kill-server, adb start-server, adb devices;若能看到 devices 列出,那麼就成功了。

 

這裡 kill-server,是 kill 掉 adb 的 daemon,否則,adb 還是保留著先前的 Vender 資訊。start-server 就載入了新的 Vender 資訊。




 

注意:有些人可能用 adb 需要超級使用者許可權,這時第一步中的home 目錄應該為 /root,不想麻煩,直接兩個 Home 目錄都加上得了。
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()