Android Device and USB installation
November 24, 2011
A brief posting describing how I got my Android device connected to my Windows 7 machine so that I could use the Android adb tool to install an application.
My objective is to be able to run the Android Debug Bridge (adb) on my Windows 7 machine, connecting to an Android device. This allows me to perform a number of useful administrative tasks such as deploy applications, look at application logs and start a unix shell session on the device.
We’re getting into territory here where incautious actions can damage your Android device. The instructions here can get you powerful access on your device, so “caveat lector”, don’t do any of this unless you take responsibility for unpleasant outcomes such as your device becoming as useful as a housebrick.
The starting point is that you have installed Eclipse and the Android SDK manager. References on how to do this are supplied with the IBM Mobile Technology Preview as mentioned in my previous article. There are a number of optional installation packages which can be seen in Eclipse if you select Window->Android SDK Manager. You need to ensure that the Google USB Driver is installed.
When you select this item the drivers are downloaded and placed in your ADK installation directory.
However, this does not conclude the installation procedure, when I plugged in my device it was not visible to adb. So there’s one more step:
Installing the Driver for the Device
First, ensure that the device is attached to the USB port and that the device memory is not mounted as a disk. Then in the Windows Device manager you should be able to find your device. In my case, I happen to be using a StorageOptions Scroll, which manifests as a device called TCC8900. RightClick on the device and you get the option to install a driver, and can browse to the just downloaded material. Unfortunately I got a message saying that no suitable driver could be found.
It transpired that the driver supplied by Google was suitable but the configuration file android_winusb.inf did not contain a matching entry. A bit of Googling (rather cyclic, no?) lead to the solution: the to the .inf file:
as I’m using 64 bit Windows, so I find the line
on 32bit Windows it’s [Google.NTx86], and insert the lines
; Scroll – recovery
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_DEED
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_DEED&MI_01
; Scroll – bootloader (fastboot)
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_D00D
just before the next entry
; HTC Dream
Then, retrying the installation works just fine. The device now appears under a more understandable name:
If you are using a different device then your entries in the inf file will be different. You can find the values by selecting your device, viewing the property tab and selecting hardware IDs.
Now what can we do?
So now that the device is attached we can simply select an Android application project, rightClick->Run As –> Android Application and it is deployed to the device and launched, any output appearing in the LogCat view. This is a great improvement on mounting a drive, copying an apk file and installing the app.