ADB for generic Android device
While working on an Android project several months ago, I found that my cheap generic Chinese Android tablet wouldn’t get detected by ADB. This made it difficult to debug the applications on the device. After Googling for several hours, I decided to dive into the matter myself, and came up with this solution, which I’ve successfully applied to several generic devices after that.
I was on a Windows 8 machine, but this should work for most Windows or Linux machines. The idea remains the same.
I went to my device manager and checked the properties of the device labeled
Android which had the exclamation mark next to it.
Details tab, I checked the hardware ID and found:
1 2 USB\VID\_18D1&PID\_4E22&REV\_0231&MI\_01 USB\VID\_18D1&PID\_4E22&MI_01
I decided to Google this and see if there are other devices that have the same Hardware ID so I could install that driver and check if it works. Miraculously, it took me to a page on XDA Developers where there was someone who got their device (A Nexus S) to work by changing the
android/_winusb.inf file located in the
I checked for the file on my system, and thought I’d add a line to it. However, before doing that I thought ‘Well, let me just install these drivers before I go ahead and add a new device.’ I right-clicked on the file and chose
Ta-da! My device got detected as some random Samsung device, and in the device manager, now I could see a shiny blue
Android Device with an
Android Composite ADB Interface in it. I checked ADB and there it was! My tablet was being detected. I tested a few shell scripts on it, and it works just fine 😀
Long story short, and for people who go ‘TL;DR’, here’s what you have to do to get your tablet working with ADB:
- Enable USB debugging
- Go to your
android-sdks/extras/google/usb/_driverfolder and right click on
android/_winusb.inffile and choose
- Your device would get installed as a generic device and ADB should work now!
Hope this saves someone a LOT of time, I know I’d have saved some if I had found this.