Вам нужно изменить 3 вещи, чтобы заставить USB-драйвер Google работать на любом телефоне 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: они есть в драйверах, которые вы объединяете; но если у вас нет драйвера для устройства, вы можете получить его, открыв диспетчер устройств; затем щелкните правой кнопкой мыши устройство - выберите свойства - в новом диалоговом окне перейдите на вкладку «Сведения»> в раскрывающемся меню свойств выберите идентификаторы оборудования. например, вы видите что-то вроде:
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 с сообщением об ошибке.
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 и вывести список устройств. Если драйвер работает нормально, устройство должно быть в списке.