USB debugging

Chances are if you're a serious Android developer you keep your Android SDK updated on a regular basis. But there are many of us who need it just for basic command-line work and don't bother with regular updates. Nothing really wrong with that. 

But Android 4.2.2 brings about a new security feature in regards to USB debugging. Whereas before all you had to do was plug in your phone and go (and maybe deal with drivers if you're a Windows user), now there's a gatekeeper on the phone side that you have to acknowledge before any connection can be made. That's what you see above. You have to accept the RSA key on your phone or tablet before anything can flow between the device via the ADB (the Android Debug Bridge). That's an added layer of security, and it's a good thing.

The idea is that keeps someone from just plugging in your phone, turning on USB debugging and having their way with it -- provided they're able to unlock the device in the first place. So you still should use some actual lock screen security, either a pin code or gesture or whatever. That onus is still on you.

Back to us tinkerers, and using the command line with a device running Android 4.2.2: You need to have adb version 1.0.31 installed on your computer. That's part of SDK Platform-tools r16.0.1. And if you haven't updated your SDK in a while because you really had no reason to do so, you're going to run into a brick wall. Specifically, the device will show that it's attached, but it'll be listed as offline.


The fix is easy: Update your SDK, accept the RSA key on your phone, and all will be right in the world.

Forget how to update your SDK? Fire up to /platform-tools/android.

More at the Android Developers site (scroll up from this link)