Google Android USB Driver и ADB - PullRequest
       55

Google Android USB Driver и ADB

36 голосов
/ 14 марта 2012

Я ищу руководство или окончательный ответ на следующие вопросы.Я хочу использовать USB-драйвер Google Android и изменить android_winusb.inf для поддержки любого количества устройств Android.Я смог успешно добавить планшет HTC Evo, но при попытке добавить LG (Optimus) или Samsung (Indulge, Admire) драйвер, кажется, устанавливается нормально, но ADB не видит его.

Можете ли вызаставить драйвер Google Android работать на любом телефоне Android?Если так ... как?

Я перепробовал множество комбинаций %SingleAdbInterface% и %CompositeAdbInterface% с различными идентификаторами поставщиков и продуктов.

Ответы [ 9 ]

84 голосов
/ 25 марта 2013

Вам нужно изменить 3 вещи, чтобы заставить USB-драйвер Google работать на любом телефоне Android на любой Windows:

  1. Добавьте идентификатор вашего устройства в android_winusb.inf файл
  2. Цифровая подпись модифицированного драйвера
  3. Добавьте идентификатор поставщика вашего устройства в adb_usb.ini белый список (больше не требуется)

и вот подробности:

1. Добавьте идентификатор вашего устройства в 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.

Как получить vid и pid: они есть в драйверах, которые вы объединяете; но если у вас нет драйвера для устройства, вы можете получить его, открыв диспетчер устройств; затем щелкните правой кнопкой мыши устройство - выберите свойства - в новом диалоговом окне перейдите на вкладку «Сведения»> в раскрывающемся меню свойств выберите идентификаторы оборудования. например, вы видите что-то вроде:

hid

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

принять это значение для составного устройства ADB и удалить MI для одного устройства ADB, вы получите

;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]: edit

[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 с сообщением об ошибке. hasherror

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) и подписать

Обходной путь: Обходной путь для внутреннего тестирования - проверка подписи набираемых окон: временно или постоянно:

временно:

Перейдите в левый верхний или нижний угол экрана, чтобы открыть панель чудо-кнопок, и нажмите «Настройки».

выберите Изменить настройки ПК

выберите General

Прокрутите вниз и нажмите «Перезагрузить сейчас» в разделе «Расширенный запуск».

Нажмите «Устранение неполадок». Нажмите «Дополнительные параметры» Нажмите «Параметры запуска Windows» Нажмите Перезагрузить.

или

run cmd и введите:

shutdown -o -r -t 0

затем после перезапуска выберите «Отключить принудительное использование подписи драйверов» из списка. установите драйвер перед перезагрузкой.

Постоянно:

нажмите Окно + Q

поиск cmd

щелкните правой кнопкой мыши cmd

выберите запуск от имени администратора из панели действий

введите в cmd:

bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON

3. Добавьте идентификатор поставщика вашего устройства в adb_usb.ini белый список (больше не требуется):

adb имел обыкновение иметь жестко закодированный белый список поддерживаемых идентификаторов поставщиков. Если поставщика вашего устройства не было в списке - adb полностью его игнорировал. Чтобы adb распознавал такие устройства, пользователям приходилось вручную добавлять свои идентификаторы поставщиков к %USERPROFILE%\.android\adb_usb.ini - по одному идентификатору на строку.

в командной строке:

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

К счастью, Google удалил фильтрацию VendorID в более свежих adb версиях. Так что этот шаг больше не требуется.

Наконец, вы можете проверить установку по:

adb kill-server
adb start-server
adb devices

и включение отладки в настройках разработчика на устройстве Android

Это должно перезапустить сервер ADB и вывести список устройств. Если драйвер работает нормально, устройство должно быть в списке.

8 голосов
/ 15 марта 2012

Можете ли вы дать нам лучшее описание и пример того, что вы делаете?Потому что все, что мне нужно сделать, это вставить строку для устройства, а затем сохранить файл.Теперь просто переподключите устройство, и оно работает.

Я обычно использую что-то похожее на эту строку:

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

Что я делаю, это:

  1. подключитеустройство в компьютер.
  2. Зайдите в диспетчер устройств.
  3. Щелкните правой кнопкой мыши на устройстве, которое вы подключили.
  4. Перейти к свойствам.Затем выберите «Аппаратные идентификаторы».
  5. Затем получите значение, которое там указано.
  6. Теперь добавьте его к строке, которую вы создали в android_winusb.inf.
  7. Отключите устройство и подключите его обратно
  8. Вернитесь к диспетчеру устройств
  9. Щелкните правой кнопкой мыши на устройстве и выберите обновить или установить драйвер
  10. Выбрать поискваш компьютер для драйвера
  11. Выберите каталог Your_Android_SDK_Directory/extras/google/usb_driver/
  12. Нажмите ok

Это, кажется, всегда работает для меня, это то, что вы делаете?Или это даже помогает?

7 голосов
/ 14 ноября 2012

Найдите следующий файл

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 в файл. Этот номер является частью идентификатора оборудования, который можно найти в информации об оборудовании устройства.

Шахта была:

USB\VID_2207&PID_0010&MI_01

(Я пытался выполнить android update adb, но ничего не получилось.)

1 голос
/ 02 мая 2014
  1. изменить android_winusb.inf
  2. подписать драйвер
  3. изменить adb

Я также установил универсальный драйвер adb из http://adbdriver.com/ иэто работает.

1 голос
/ 29 июня 2012

Ответ 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 
0 голосов
/ 13 июля 2016

Драйвер для Huawei не найден.Поэтому я использую универсальный драйвер ADB:

  • Скачать this :
  • Извлечь 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)

  • Когда компьютер былПерезапущен, снова запустите файл ADBDriverInstaller.Выберите ваше устройство из вариантов.Нажмите установить.

И все готово:)

0 голосов
/ 20 января 2015

Похоже, что драйверы Google USB были обновлены для поддержки Glass из коробки, поэтому до тех пор, пока вы используете последние драйверы, вы сможете получить доступ к Glass через ADB. В моей конкретной ситуации я подключил Glass к своей машине где-то в середине 2014 года, но ничего с этим не сделал. Теперь, когда я пытался подключить его, я не увидел его в ADB, несмотря на то, что он появился в диспетчере устройств. После долгих проб и ошибок я узнал, что мне нужно:

  1. Зайдите в диспетчер устройств
  2. Щелкните правой кнопкой мыши «Android ADB Interface» в разделе «SAMSUNG Android Phone»
  3. Нажмите «Удалить». БЫТЬ УВЕРЕННЫМ Установлен флажок «Удалить программное обеспечение драйвера для этого устройства».
  4. Отключите и снова подключите Google Glass.

Затем я смог переустановить драйвер с помощью регулярного обновления Windows. Это заставило его искать новейший драйвер. Не уверен, почему он не обновлялся раньше, но я надеюсь, что это поможет кому-то еще с этим бороться.

0 голосов
/ 23 августа 2014

Для моего Azpen A727 драйвер Windows установлен правильно, поэтому был необходим только шаг 3 ответа Мухаммеда.

0 голосов
/ 01 мая 2013

вместо изменения файла adb_usb.ini я внес изменения в файл android_winusb.inf в каталоге android-sdk \ extras \ google \ usb_driver \ отдельно, и он работал на планшете 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
...