簡體   English   中英

Google Android USB 驅動程序和 ADB

[英]Google Android USB Driver and ADB

我正在尋找有關以下內容的指導或明確答案。 我想使用 Google Android USB 驅動程序並修改android_winusb.inf以支持任意數量的 Android 設備。 我能夠成功添加 HTC Evo 平板電腦,但是當我嘗試添加 LG(Optimus)或三星(Indulge、Admire)時,驅動程序似乎安裝正常,但 ADB 沒有看到它。

您可以讓 Google Android 驅動程序適用於任何 Android 手機嗎? 如果是……怎么辦?

我已經嘗試了許多%SingleAdbInterface%%CompositeAdbInterface%排列以及供應商和產品 ID 的變化。

您需要修改 3 件事才能使 Google USB 驅動程序適用於任何 Windows 上的任何 Android 手機:

  1. 將您的設備 ID 添加到android_winusb.inf文件
  2. 對修改后的驅動程序進行數字簽名
  3. 將您設備的供應商 ID 添加到adb_usb.ini白名單(不再需要)

以下是詳細信息:

1. 將您的設備 ID 添加到android_winusb.inf文件

添加的格式是:

;Comment usually the device name
%SingleAdbInterface% = USB_Install, USB\; here you put VID and PID
%CompositeAdbInterface% = USB_Install, USB\; same as above but add the MI

在我繼續之前, VID是 USB 供應商 ID。

如何獲取 vid 和 pid :它們在您要合並的驅動程序中; 但是如果您沒有設備的驅動程序,您可以通過打開設備管理器來獲取它; 然后右鍵單擊設備 - 在新對話框中選擇屬性,轉到詳細信息選項卡 > 在屬性下拉菜單中選擇硬件 ID。 例如,您會看到如下內容:

隱藏

USB\VID_2207&PID_0000&REV_0222&MI_01
USB\VID_2207&PID_0000&MI_01

為復合 adb 設備取這個值並為單個 adb 設備刪除 MI,你得到

;MSI WindPad Enjoy 7 plus
%SingleAdbInterface%        = USB_Install, USB\VID_2207&PID_0000
%CompositeAdbInterface%     = USB_Install, USB\VID_2207&PID_0000&REV_0222&MI_01
;

將此 2 行復制兩次,一次到 [Google.NTx86] 部分,另一行到 [Google.NTamd64] 部分

為您想要支持的每個設備重復

現在 [Strings] 部分的可選編輯:編輯

[Strings]
ProviderName                = “Google, Inc.”
SingleAdbInterface          = “Android ADB Interface”
CompositeAdbInterface       = “Android Composite ADB Interface”
SingleBootLoaderInterface   = “Android Bootloader Interface”
WinUSB_SvcDesc              = “Android USB Driver”
DISK_NAME                   = “Android WinUsb installation disk”
ClassName                   = “Android Device”

到:

[Strings]
ProviderName                = “Google, Inc.”
SingleAdbInterface          = “MSI ADB Interface”
CompositeAdbInterface       = “MSI Composite ADB Interface”
SingleBootLoaderInterface   = “MSI Bootloader Interface”
WinUSB_SvcDesc              = “MSI USB Driver”
DISK_NAME                   = “MSI WinUsb installation disk”
ClassName                   = “MSI Tablet”

2. 對修改后的驅動程序進行數字簽名:

雖然原始的 google usb 驅動程序是由 google 簽名的,但修改 android_winusb.inf 將阻止在 windows 8 上安裝它並顯示錯誤消息散列錯誤

The hash file is not present in the specified catalog file. The file is likely
corrupt    or the    victim of tampering.

這僅適用於 Windows 8。Windows 7 或更早版本不顯示此錯誤消息。 您必須重新生成目錄文件(可能使用 Windows SDK)並簽名

解決方法:內部測試的解決方法是禁用 Windows 簽名驗證:臨時或永久:

暫時地:

轉到屏幕的左上角或左下角打開超級按鈕欄,然后單擊設置超級按鈕。

選擇更改電腦設置

選擇通用

向下滾動,然后單擊“高級啟動”下的“立即重新啟動”。

單擊“疑難解答”。 單擊“高級選項”單擊“Windows 啟動設置”單擊“重新啟動”。

要么

運行cmd並輸入:

shutdown -o -r -t 0

然后在重新啟動后從列表中選擇“禁用驅動程序簽名強制”。 在重新啟動之前安裝驅動程序。

永久:

按窗口+Q

搜索 cmd

右鍵單擊cmd

從操作欄中選擇以管理員身份運行

輸入cmd:

bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON

3. 將您設備的供應商 ID 添加到adb_usb.ini白名單(不再需要):

adb曾經有一個硬編碼的受支持供應商 ID 白名單。 如果您的設備供應商不在列表中 - adb會完全忽略它。 為了讓adb識別這些設備,用戶必須手動將他們的供應商 ID 添加到%USERPROFILE%\\.android\\adb_usb.ini - 每行一個 ID。

在命令行中:

echo 0x2207 >> "%USERPROFILE%\.android\adb_usb.ini"

幸運的是,谷歌在最近的adb版本中刪除了 VendorID 過濾。 所以這一步不再需要了。

最后,您可以通過以下方式測試安裝:

adb kill-server
adb start-server
adb devices

並在 Android 設備上的開發人員選項中啟用調試

這應該重新啟動 ADB 服務器並列出設備。 如果驅動程序工作正常,則應列出該設備。

找到以下文件

C:\\Users\\ [你的名字] \\.android\\adb_usb.ini

並進行以下更改:

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x2207

我在文件中添加了0x2207 這個數字是硬件 ID 的一部分,可以在設備的硬件信息下找到。

我的是:

USB\\VID_2207&PID_0010&MI_01

(我嘗試執行android update adb ,但它什么也沒做。)

你能給我們一個更好的描述和一個你正在做什么的例子嗎? 因為我所要做的就是將設備的行放在那里,然后保存文件。 現在只需重新連接設備即可正常工作。

我通常使用類似於這一行的東西:

;
;some name for the phone (this seems to be arbitrary)
%CompositeAdbInterface%     = USB_Install, THE_HARDWARE_ID

我所做的是:

  1. 將設備插入計算機。
  2. 轉到您的設備管理器。
  3. 右鍵單擊您插入的設備。
  4. 去屬性。 然后選擇硬件 ID。
  5. 然后獲取那里列出的值。
  6. 現在將它添加到您在android_winusb.inf創建的行中。
  7. 拔下設備並重新插入
  8. 返回設備管理器
  9. 右鍵單擊設備,然后單擊更新或安裝驅動程序
  10. 選擇在您的計算機上搜索驅動程序
  11. 選擇目錄Your_Android_SDK_Directory/extras/google/usb_driver/
  12. 按確定

這似乎總是對我有用,這是你在做什么嗎? 或者這甚至有幫助?

  1. 修改android_winusb.inf
  2. 簽署司機
  3. 修改亞行

我還從http://adbdriver.com/ 安裝了通用 adb 驅動程序並且它工作正常。

答案 1 非常適合我。 我在新的 MID 10' 平板電腦上對其進行了測試。 以下是我在 .inf 文件中添加的行,並且安裝沒有問題:

;Google MID
%SingleAdbInterface%        = USB_INSTALL, USB\Vid_18d1&Pid_0003&MI_01
%CompositeAdbInterface%     = USB_INSTALL, USB\Vid_18d1&Pid_0003&Rev_0230&MI_01 

對於我的 Azpen A727,Windows 驅動程序安裝正確,因此只需要 Mohammad 回答的第 3 步。

看起來 Google USB 驅動程序已經更新為開箱即用的支持 Glass,所以只要您使用最新的驅動程序,您應該能夠通過 ADB 訪問 Glass。 在我的特殊情況下,我曾在 2014 年年中的某個時候將 Glass 連接到我的機器,但什么也沒做。 現在,當我嘗試連接它時,盡管出現在設備管理器中,但我看不到它出現在 ADB 中。 經過多次反復試驗,我發現我必須:

  1. 進入設備管理器
  2. 右鍵單擊“SAMSUNG Android Phone”下的“Android ADB Interface”
  3. 單擊“卸載”。 確保選中“刪除此設備的驅動程序軟件”。
  4. 斷開並重新連接 Google Glass。

然后我就可以通過常規的 Windows 更新重新安裝驅動程序。 這迫使它尋找最新的驅動程序。 不知道為什么之前沒有更新,但我希望這會幫助那些仍在努力解決這個問題的人。

找不到華為驅動。 所以我一直在使用通用 ADB 驅動程序:

  • 下載這個
  • 提取ADBDriverInstaller並運行該文件。 確保您已通過 USB 將設備連接到計算機。
  • 顯示一個窗口。
  • 單擊安裝。
  • 將出現一個對話框。 它會要求您按Restart按鈕。

在這樣做之前,請閱讀鏈接

(The above. in brief, says to press Restart button in the dialog box. Select Troubleshoot. Select Advance Option. Select Startup Setting. Press Restart. After system's been restarted, on the appearing screen press 7)

  • 重新啟動 PC 后,再次運行ADBDriverInstaller文件。 從選項中選擇您的設備。 按安裝。

它完成了:)

我沒有修改 adb_usb.ini 文件,而是單獨對目錄 android-sdk\\extras\\google\\usb_driver\\ 下的文件android_winusb.inf進行了更改,它適用於平板電腦 MID Q88,但我復制了兩個部分 [Google.NTamd64] 和 [Google .NTx86]

;Google MID Q88
%SingleAdbInterface%        = USB_INSTALL, USB\VID_18D1&PID_0003&MI_01
%CompositeAdbInterface%     = USB_INSTALL, USB\VID_18D1&PID_0003&REV_0230&MI_01

我只是說Windows是Poop! Linux是最好的,親我的Linux用戶A

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM