When I started preparing for my CS 4530 Mobile App Programming course, I found an old Android device, an LG Nexus 4 I had used a few years back. I plugged it in to use it as my physical device for development. Android Studio immediately detected it and I hit the green play button (to run the app). Whoa! It hit me back with this message:

Dejected, I opened the Connection Assistant in the Android Studio via Tools > Troubleshoot Device Connections. Again, it had no issues detecting the phone:

Found 1 Android device(s) ready for debugging:

lge-nexus_4-018aa11a1ccf6e45

Even on the command line, I could find it via adb:

> adb devices -l
List of devices attached
018aa11a1ccf6e45       device usb:20:6 product:occam model:Nexus_4 device:mako transport_id:1


Puzzled, I looked for solutions online. The most common advice was:

disconnect and reconnect your device, or try using a different USB cable

Needless to say, it didn’t work—otherwise I wouldn’t be writing this blog! Thankfully, I found a solution here, which I am repeating below so I find it easily if I ever have to do this again. In a nutshell, this solution suggests resetting the USB debug privileges.

1. On your phone, under ‘Developer Options’, stop USB debugging and revoke USB debugging authorization. (The post next suggests restarting your phone, but it worked for me without a restart.)

2. Next, reset the adb server on the laptop:

> adb kill-server


1. Unplug and replug the device. At this point, the device asked me to allow USB debugging. The device was again recognized by adb, but I realized the usb: information was different this time:
> adb devices -l