Besides official Google phones, which have adb drivers, most of the phones don't have one to make connection via USB.
Of couse you can connect by adb via network but that's another story.
So if you are lacky and have official Android device get latest official Google drivers from:
Get the Google USB Driver.
If your device isn't in official list 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
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
Extract official Google's ADB driver package:
Locate and modify driver's
.inf file (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 that has similar lines setting your own hardware id that we've extracted.
Temporary disable driver signing enforcement (run from Administrator,
cmd# bcdedit /set testsigning off
and reboot. You'll see
Test mode sign in right lower corner of desktop.
Locate your decive, 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.
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