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.
Under the “Details” tab, I checked the hardware ID and found:
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 “android-sdks\extras\google\usb_driver” folder.
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 “Install”.
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_driver” folder and right click on “android_winusb.inf” file and choose “Install”
- 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.