Google Android USB Driver и ADB

35

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

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

Я пробовал много перестановок %SingleAdbInterface% и %CompositeAdbInterface% с вариациями идентификаторов Vendor и Product.

  • 0
    Перейти на сайт поддержки для производителя устройства. Для устройств, с которыми не работает универсальный драйвер, производитель обычно предоставляет для загрузки драйвер, который активирует ADB.
  • 0
    Вы уже попробовали мое предложение? Если это сработало, пожалуйста +1 и примите в качестве ответа. Это поможет повысить ваш профиль и сделает людей более вероятными, чтобы помочь вам в будущем. Спасибо
Показать ещё 4 комментария
Теги:
adb
inf

9 ответов

83

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

  • Добавьте идентификатор устройства в android_winusb.inf файл
  • Цифровой знак измененного драйвера
  • Добавьте идентификатор поставщика устройства в белый список 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: они находятся в драйверах, которые вы объединяете; но если у вас нет драйвера для устройства, вы можете получить его, открыв диспетчер устройств; затем щелкните правой кнопкой мыши устройство - выберите свойства - в новом диалоге перейдите на вкладку "Сведения" > в меню "Свойства" выберите "Идентификаторы оборудования". например, вы видите что-то вроде:

Изображение 122226

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 строки TWICE, один раз в раздел [Google.NTx86], а другой - в раздел [Google.NTamd64].

REPEAT для каждого устройства, которое вы хотите поддерживать

Теперь дополнительное редактирование для раздела [Строки]: 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"

To:

[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. Цифровой знак измененного драйвера:

Несмотря на то, что оригинальный драйвер usb google был подписан google, изменение android_winusb.inf не позволит установить его в Windows 8, отображая сообщение об ошибке Изображение 122227

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 или более ранняя версия не отображает это сообщение об ошибке. Вам необходимо восстановить файл каталога (возможно, с помощью SDK Windows) и подписать

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

временно

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

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

выберите "Общие"

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

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

или

запустить cmd  и введите:

shutdown -o -r -t 0

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

Постоянно:

нажмите Window + 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 и список устройств. Если драйвер работает нормально, устройство должно быть указано.

  • 2
    Большое спасибо, это сэкономило мне много времени. Я забыл, что Windows 8 необходимо отключить подпись перед установкой устройства. Счастливый код
  • 1
    @edisonTHK Добро пожаловать!
Показать ещё 4 комментария
8

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

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

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

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

  • подключите устройство к компьютеру.
  • Перейдите в диспетчер устройств.
  • Щелкните правой кнопкой мыши на устройстве, которое вы подключили.
  • Перейдите к свойствам. Затем выберите Hardware Ids.
  • Затем введите указанное здесь значение.
  • Теперь добавьте его в строку, созданную в android_winusb.inf.
  • Отключите устройство и подключите его обратно в
  • Вернитесь к диспетчеру устройств
  • Щелкните правой кнопкой мыши на устройстве и нажмите кнопку "Обновить" или "Установить драйвер".
  • Выберите поиск вашего компьютера для драйвера.
  • Выберите каталог  Your_Android_SDK_Directory/extras/google/usb_driver/
  • Нажмите ok

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

  • 0
    У меня есть приложение, которое общается с устройствами Android через ADB, и я не хочу управлять установкой n драйверов. Также я не хочу, чтобы пользователь беспокоился об установке нескольких драйверов.
  • 0
    Я попробовал описанный выше метод для телефона, который я перечислил, и не работал. Я попробовал с HTC Evo, и он сделал. Не повезло с Samsung или LG.
Показать ещё 5 комментариев
7

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

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

Ответ 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
    Что вы делаете после добавления строк? Как он распознает и устанавливает драйвер?
0

Драйвер для 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 been restarted, on the appearing screen press 7)

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

И это сделано:)

0

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

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

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

0

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

0
  • изменить android_winusb.inf
  • Подпишите драйвер
  • изменить adb

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

  • 1
    Ответ плохой, но связанный универсальный драйвер отличный, действительно универсальный! Вероятно, он выполняет первые две операции автоматически.
  • 0
    Большое спасибо, ссылка работает для меня, +1 для ссылки.
0

вместо изменения файла 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
  • 2
    Привет! Добро пожаловать в stackoverflow. Но какая польза от добавления уже предоставленного ответа?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню