When I first developed a few APKs, it wasn’t too difficult to get everything to work without the ADB (that’s the Android Developer Bridge) but it was a bit cumbersome and time consuming. I couldn’t get ADB to recognize my phone when it was plugged in. Every site I ever went to had the same simple steps:
- Install the Android SDK
- Make sure the phone is set to USB debugging mode before you plug it in
That seems pretty simple, right? Unfortunately with “simple” also comes the inability to really troubleshoot much because everyone expects it to “just work”. Sort of like a Mac. :)
Anyway, I finally did get my Samsung Captivate (SGH-i897) to run with ADB and here are the steps that I took to get it to work. Note that I’m using Windows 7 x64.
- Install the Android SDK from here: http://developer.android.com/sdk/index.html
- Once installed, follow the guide here to add the Android repository to the Android SDK :http://developer.android.com/sdk/installing.html
- Once you have the Android repository, look for the “Google USB Driver package”.
- Alternatively, you can look here for more details: http://developer.android.com/sdk/win-usb.html just keep in mind that the only way to actually download it is through the SDK.
- Once the USB drivers are installed, you can plug your phone in (make sure USB debugging mode is enabled)
- Open the control panel and go to System (you might need to show all control panel items to see it)
- In System, open the Device Manager
- You should see your phone by “Other Devices”, but it’ll probably have a yellow exclamation point next to it meaning that Windows doesn’t recognize the drivers
- Right-click on your phone and choose Update Driver Software
- Browse to the location of the USB drivers that you just downloaded through the SDK. For me, this was C:\Program Files (x86)\Android\android-sdk\extras\google\usb_driver
You should now be able to use ADB with your phone! To test this, open a command prompt and type in adb devices.
A few things of note that I should mention are that for one, I do not have the Samsung Captivate drivers from Samsung installed. I tried getting them to work, but it didn’t fix my problem. The reason it didn’t is because the system is looking for the ADB drivers for the USB connection and not the phone drivers. Another thing that is noteworthy is that Google’s page that talks about the USB drivers (found here) have the following statement:
The Google USB Driver is only for Android Developer Phones (ADP), Nexus One, and Nexus S. If you’re using a different Android-powered device, then you need to get a USB driver from the device OEM. For help finding the appropriate driver, see the list of OEM USB Drivers.
I’m not sure if they consider my phone magically an ADP once I start using it for development, but I know they have phones for sale that are specifically development phones so as a result this statement is either inaccurate or misleading. In either case, enjoy running ADB!
I spent a few hours trying to figure out why this worked perfectly fine in Mac OS and not in Windows. Installing the Google drivers fixed it though. Thanks for the post!