Besides official Google phones and a few branded, which have "official" adb drivers, most of the nonname/Chinese phones don't have one to make connection via USB.
You can try to connect by adb via network but that's another story.
So if you have official Android device:
Get the Google USB Driver.
or if you devices is branded:
Install OEM USB drivers.
If your device isn't in the list of officially supported you can try to find driver in Windows update catalog at http://www.catalog.update.microsoft.com.
Use search by vendor or device name, or string
adb. Alternatively use hardware id.
BTW older version of official Google drivers are also in Windows update catalog.
Most probably you will fail to find drivers for numerous Chinese/noname Android devices. We can reuse official Google drivers. To do that:
Find your USB's hardware VID and PID. Locate your device in Device Manager, open Properties => Details => Hardware Ids and copy (by
Ctrl+C) string like:
or among the list from:
pnputil.exe /enum-devices /connected
Device Manager can be launched by
Extract official Google's ADB driver package:
Locate and modify driver's
.inffile (in my case it was
android_winusb.inf) by adding lines, like:
; Meizu %SingleAdbInterface% = USB_Install, USB\VID_2A45&PID_201D %CompositeAdbInterface% = USB_Install, USB\VID_2A45&PID_201D&MI_01
to all sections (32-/64-bit) that has similar lines setting your own hardware id that we've extracted.
Overview of INF Files.
Disable driver signing enforcement temporarily via Change advanced startup options (it can be invoked in a fancy way by holding the "Shift" key on your keyboard and click the "Restart" button). In the widget:
Advanced Start Up -> Troubleshoot -> Advanced Options -> UEFI Firmware Settings-> Restart
After PC restart press F7 to select Disable driver signature enforcement.
Recent version of Windows 10 prevents permanent disabling of driver signing verification or permanent enabling of test signing:
cmd# bcdedit /set testsigning off An error has occurred setting the element data. The value is protected by Secure Boot policy and cannot be modified or deleted. cmd# bcdedit /set nointegritychecks off An error has occurred setting the element data. The value is protected by Secure Boot policy and cannot be modified or deleted.
Use method with rebooting with temporarily disabled driver signature enforcement descrived earlier.
Disabling Secure Boot.
After booting to mode with temporarily disabled signature enforcement locate your device, then follow Properties => Driver => Update => Browse my computer => Let me pick => Hard Disk.... Select Android Composite ADB interface driver and ignore security warning about broken file signature.
Alternatively install via utility and inf-file:
cmd# pnputil /add-driver android_winusb.inf Microsoft PnP Utility Adding driver package: android_winusb.inf Driver package added successfully. Published Name: oem70.inf Total driver packages: 1 Added driver packages: 1
Enable signing checks back:
cmd# bcdedit /set testsigning on
and reboot. Hurrah!
As you see Google's adb driver works fine with any Android phone. It's Microsoft policy to forbid class drivers so each vendor is required to provide same driver with different hardware ID and to pay money for Windows Logo® program and signing process.
bcdedit can be run with alternative options:
cmd# bcdedit.exe /set nointegritychecks on cmd# bcdedit.exe /set nointegritychecks off