Вам нужно изменить 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 строки ДВАЖДЫ, один раз в раздел [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”
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 и более ранних версиях это сообщение об ошибке не отображается. Вам необходимо заново сгенерировать файл каталога (возможно, с помощью Windows SDK) и подписать
Обходной путь: обходным путем для внутреннего тестирования является отключение проверки подписи Windows: либо временно, либо постоянно:
временно:
Перейдите в левый верхний или нижний угол экрана, чтобы открыть панель чудо-кнопок, и нажмите чудо-кнопку настроек.
выберите Изменить настройки ПК
выберите Общие
Прокрутите вниз и нажмите «Перезагрузить сейчас» в разделе «Расширенный запуск».
Нажмите «Устранение неполадок». Нажмите «Дополнительные параметры». Нажмите «Параметры запуска Windows». Нажмите «Перезагрузить».
or
запустите cmd и введите:
shutdown -o -r -t 0
затем после перезапуска выберите из списка «Отключить обязательное использование подписи драйверов». установите драйвер перед перезапуском.
Постоянно:
нажмите Окно+Q
поиск командной строки
щелкните правой кнопкой мыши 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 и список устройств. Если драйвер работает нормально, устройство должно появиться в списке.
person
Muhammad Annaqeeb
schedule
25.03.2013