Updated – Android: ADB on Windows 7 x64

EDIT 01/08/2012 – Latest SDK supports Java 7.

Updated 02/22/2011 to reflect changes to the SDK installation process. This process is confirmed to work under Windows XP x64 as well. Also, check the comments section for information on adding support for additional devices to the driver INF.

Surprisingly, it isn’t actually that difficult to get ADB (Android Debug Bridge) working correctly under Windows 7 x64 – you just need to perform a few steps in the right order.

  1. Download the latest 32-bit and 64-bit Java JDK from here: http://www.oracle.com/technetwork/java/javase/downloads/index.html (click the JDK link).
  2. Install the 32-bit JDK first, then the 64-bit. Note — Technically you can just use the 64-bit version, but you will occasionally get errors about the 32-bit version (x86) being missing. Best bet is to install both.
  3. Once Java is installed, download the Android development kit for Windows from here: http://developer.android.com/sdk/index.html – you can now opt to download the SDK install in .exe format, which is recommend (and will be used by this guide).
  4. After the installer has finished downloading, run it. If you haven’t yet installed the JDK packages, the installer will remind you that they are required and won’t let you proceed.
  5. The installer will automatically launch the Android SDK Manager and prompt you to install a number of default packages. Of those listed, only the first two options (Android SDK Tools and Android SDK Platform Tools) and the Google USB Driver package are needed.
  6. After the process has finished, allow the Manager to restart the ADB process, then close the dialog box.
  7. When it’s finished downloading and installing, enable debugging mode on your Android phone and plug it in. Windows should now automagically detect the correct ADB driver. Once Windows has completed the driver installation, open Device Manager and ensure that the “Android Phone” category at the top has an entry called ‘Android Composite ADB Interface’ (pictured below). If the driver wasn’t installed automagically and appears in Device Manager as a Nexus One (or whatever your model of phone is), you can find the driver downloaded by the SDK Setup in the folder you extracted the SDK to (by default, C:\Program Files (x86)\Android\android-sdk-windows\google-usb_driver).
  8. Finally, open a command prompt, navigate to the platform-tools (note: adb used to reside in the tools directory, however it was moved when the SDK was updated for Gingerbread) directory in the SDK folder and type ‘adb devices’ — ADB should now list your device.
Device Manager showing the ADB Driver is correctly installed

Device Manager showing the ADB Driver is correctly installed

It should be noted that the driver installed by the SDK works for Windows XP 32bit and Windows Vista/7 32bit and 64bit. I haven’t tested it with Windows XP 64bit edition, however.

Comments (24)

  1. 6:10 am, June 22, 2010Pål Andreassen  / Reply

    Had huge problems installing this driver in 64-bit Windows 7. The problem proved to be that Google had removed the lines for HTC Hero from the inf file from revision 3. Added this to the inf file in the [Google.NTamd64] section:

    ; HTC Hero
    %CompositeAdbInterface% = USB_Install, USBVID_0BB4&PID_0C98&MI_01

    Just a tip to other Hero owner out there.

  2. 10:09 am, July 7, 2010Quintin Willison  / Reply

    I’m running Windows XP Professional x64.
    My Nexus One driver appears to install correctly (I pointed it to the SDK driver folder) and I get the “Android Composite ADB Interface” properly installed under “Android Phone” in Windows’ Device Manager.
    But ‘adb devices’ does not list the target – despite the fact that another 32-bit machine happily shows it (running XP Professional x86).
    The phone’s running Froyo (2.2).
    Only difference is the x64 machine is running ‘Eclipse SDK v.3.6′ (the x86 box is on ‘Eclipse IDE for Java Developers v.3.5′).
    I don’t think that should be the problem as (from my current understanding) the ADB is not dependent on Eclipse (it’s the other way round).
    This might be something I’m doing wrong somewhere. Quite likely.
    But thought I would mention my problems (in progress) as you referenced x64 XP.
    I’m going to try Windows 7 x64 next as I am keen to get this up and running 64-bit… grumble, grumble… ;)

    • 10:12 am, July 7, 2010Laslow  / Reply

      There are a number of general compatibility issues with XP x64 for many different programs, and it’s entirely possible that ADB isn’t able to work correctly under the OS (like I said, I haven’t had time to test it). If I get a chance, I’ll make an XP x64 VM and try ADB to see what’s up, but it’s most likely that it just won’t work. ;)

  3. 1:47 am, July 8, 2010Quintin Willison  / Reply

    I think that’s definitely the case.
    Late last night I finished the process of installing the Android SDK, Eclipse (this time 32-bit v.3.5.2 ‘Java EE IDE for Web Developers’) and the Android Plugin on my Win 7 x64 machine – all working well and debugging against my Nexus One.
    Hooray!
    Your article definitely helped. Thanks.
    (oh yeah – I tried installing the 32-bit JDK on the XP x64 box as I had previously just installed the 64-bit JDK… still ‘adb devices’ showed me nothing at all)

  4. 9:12 am, September 1, 2010asd  / Reply

    correct solution for HTC Hero:

    I had the same problem. It seems that the device ID has changed for some reason.
    For me it became “VID_0BB4&PID_0C99″

    1. So, go to the folder which has the driver (it should be %somewhere%android-sdk-windowsusb_driver).
    2. Make a backup of android_winusb.inf and open the original using a text editor (notepad, notepad++, etc).
    3. Right at the end of the [Google.NTx86] or the [Google.NTamd64] section (depending on whether you are 32bit or 64bit), paste the following:

    CODE
    ; HTC HERO 2.1 (Chungwa)
    %SingleAdbInterface% = USB_Install, USBVID_0BB4&PID_0C99
    %CompositeAdbInterface% = USB_Install, USBVID_0BB4&PID_0C99&MI_01
    %SingleBootLoaderInterface% = USB_Install, USBVID_0BB4&PID_0FFF

    4. Then try to install the driver normally when it asks you to.

    If it still does not work, it means that you have a different device ID.

    1. Go to the device manager (Control Panel -> System -> Hardware -> Device Manager in XP.)
    2. Double-click on ADB (which should have an question mark next to it).
    3. Select details.
    4. From the dropbox select “Device Instance ID)” and copy the change the VID and PID in android_winusb.inf (just in the section you copied from above!) accordingly.

    source: http://android.modaco.com/content-page/310369/04-jun-official-htc-2-1-3-31-751-1-chungwa-taiwan-multiple-repacks-online-kitchen/page/240/ (Post #255)

    greetings

  5. 8:52 am, November 8, 2010Steve  / Reply

    Here’s what I added for 2.2 in the usb driver file for my rooted Hero (Windows 7 x64)
    ; HTC HERO 2.2
    %SingleAdbInterface% = USB_Install, USBVID_0BB4&PID_0C9A
    %CompositeAdbInterface% = USB_Install, USBVID_0BB4&PID_0C9A&MI_01
    %SingleBootLoaderInterface% = USB_Install, USBVID_0BB4&PID_0C9A

  6. 10:35 am, November 20, 2010Jeff  / Reply

    successfully installed the driver by following this:

    If it still does not work, it means that you have a different device ID.

    1. Go to the device manager (Control Panel -> System -> Hardware -> Device Manager in XP.)
    2. Double-click on ADB (which should have an question mark next to it).
    3. Select details.
    4. From the dropbox select “Device Instance ID)” and copy the change the VID and PID in android_winusb.inf (just in the section you copied from above!) accordingly.”

  7. 3:48 pm, March 13, 2011Laslow  / Reply

    The INF line for the Desire is:

    ; HTC Desire
    %CompositeAdbInterface% = USB_Install, USBVID_0BB4&PID_0C87&MI_01

  8. 6:31 am, April 12, 2011Jerdan  / Reply

    Hi please can somebody write me a INF line fort Wildfire 2.2??
    Thanks.

  9. 9:43 am, April 12, 2011Laslow  / Reply

    @Jerdan: Follow the steps in this article to get the VEN and DEV numbers, and then copy one of the lines above and change the numbers as appropriate (you need to have your phone connected to do this): http://www.makeuseof.com/tag/how-to-find-unknown-device-drivers-by-their-vendor-device-id/

    Once you’ve got it, post it here to give others a hand.

  10. 9:54 am, April 30, 2011LeeC22  / Reply

    Been having absolute masses of problems getting the ADB drivers to work with the HTC Desire on WIndows 7 64-bit, until I did the following.

    Followed the above process to get the SDK installed, then added the following lines to the android_winusb.inf file:-

    ;HTC Desire
    %SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C87&REV_0226&MI_01
    %CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C87&MI_01

    Those are for my Desire (On Vodafone if that makes a difference). After adding those lines, the drivers installed straight away, and I can now use DDMS to capture screens. I added them to [Google.NTamd64] section, but I presume they would work in the [Google.NTx86] section too.

    In Windows 7 64-bit, the “Device Instance IDs” mentioned above, is listed as “Hardware IDs”.

  11. 6:17 am, May 10, 2011Guest  / Reply

    Awesome! Thanks!

  12. 1:37 am, August 10, 2011paras  / Reply

    my pc is detecting my device but whrn i use apk manager it shows adb not found………pls help

    • 8:15 am, August 10, 2011Laslow  / Reply

      What does ‘adb devices’ show for output?

  13. 9:20 pm, September 11, 2011Maddo  / Reply

    Disire HD – windows 7 x86

    ;Google DHD

    %SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0CA2
    %CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0CA2&MI_01
    %SingleBootLoaderInterface% = USB_Install, USB\VID_0BB4&PID_0FFF

  14. 12:21 am, September 26, 2011Joseph Hines  / Reply

    So I followed the instructions with one issue- I forgot to read the part about installing the JRE 32bit before the 64bit. now I can’t install ADB on my HTC Inspire 4G. Any help?

    • 8:22 am, September 26, 2011Laslow  / Reply

      So when you check Device Manager, it doesn’t appears as in the screenshot? Does it have an icon with an ‘!’ in it for the ADB device?

  15. 4:43 am, October 5, 2011Thomas  / Reply

    Great
    These lines worked for me finally on Windows x64 Pro
    ;HTC Desire
    %SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C87&REV_0226&MI_01
    %CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C87&MI_01

    Thanks LeeC22 :)

  16. 12:46 am, October 29, 2011Simon Dingley  / Reply

    Thanks Thomas/LeeC22 I can also confirm that the new entries you supplied for the HTC Desire worked for me also (UK T-Mobile).

  17. 5:15 pm, November 28, 2011Disapponted but not surprised  / Reply

    well… this sucks… have to unistall the 64 bit java sdk and then reinstall the 32 bit sdk and then the 64 bit sdk!?! that is bs… I had the beta version of XP 64 when it first came out and this was the kind of problems I had – but that was 2006 or something… no progress? no thanks, I just wont debug on my phone. maybe when I have a couple days to make no progress I’ll do it. I am betting it is no where as difficult as the problems I had with beta xp 64 and finding drivers but just the thought of driver problems due to 64 vs 32 bit brings back a week of hell and I’ll just pass for now.

    • 6:49 pm, November 28, 2011Laslow  / Reply

      If you already have the 64-bit version of Java installed, just install the 32-bit and then the SDK. It should still work fine. The steps are in that specific order above to mitigate as many issues around install order as possible, but it will typically still work.

  18. 9:24 pm, December 2, 2011JHandal  / Reply

    “If you already have the 64-bit version of Java installed, just install the 32-bit and then the SDK”

    I got Windows7 Home Edition,Eclipse Indigo(2011 v-3.7)’Android ADT v-15(last one)

    I did all the steps with the android_winusb.inf and AdbInterface ,I had that bad experience before (tablet Xoom)

    Now my problem is trying the original motorola Droid with this laptop running

    windows 7 64 bit.(adb devices:not devices attached)

    I also installed the J2EE SDK 64 bits.

    What means:just install the 32-bit and then the SDK(I only installed de 64 bits)

    • 9:30 pm, December 2, 2011Laslow  / Reply

      I was saying that, if you have the 64bit version of Java JDK installed, don’t worry about uninstalling it and going in order, just go ahead and install the 32bit version of Java JDK, then run the Android SDK and download the usb driver.

  19. 12:59 pm, January 12, 2012Daniel  / Reply

    ;Samsung Galaxy Nexus
    %SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6860
    %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_01

Leave a Reply

Allowed Tags - You may use these HTML tags and attributes in your comment.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>