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