Here's a funky issue. I've been using ADB without any problems on 4.2.1 and 4.2.2 on my Nexus 4 (Stock Android and some CM10-based ROMs). When I flashed a CM10.2-based rom (JellyBro, I believe?) a few months ago, I was never able to get ADB to work, so I restored a nandroid of my previous setup. After a while, I decided to flash the stock 4.3 image and see if I still have the problem. I do.
The setup?
- Phone: Nexus 4
- Phone OS: Android 4.3 (Factory)
- Computer OS: Linux Mint 15
Okay, the problem?
- I cannot use ADB with my N4 on 4.3.
- I cannot authorize my computer with my device.
What have you tried so far?
I just tried to use the default feature. The phone should prompt to authorize my computer, but I never get a prompt. I checked /data/misc/adb/ and the directory was empty.
- Even so, I decided to click the "Revoke USB debugging authorizations" option in Developer options.
I copied ~/.android/adbkey.pub from my Linux box and put its contents in a new file named /data/misc/adb/adb_key on my device.
- When that didn't work, I rebooted the device.
- When that didn't work, I disabled/enabled ADB on the device.
- When that didn't work, I killed adb on my computer, then restarted it.
- When a-c didn't work, I did them all sequentially before trying again, which also didn't work.
Exactly the same as above, but put it in /data/misc/adb/adb_keys intead of adb_key (because XDA and other sites cite both filenames).
Clicked the "Revoke USB debugging authorizations" button again. Rebooted the phone, killed ADB on my computer. Still no prompts to authorize.
It only removed /data/misc/adb/adb_keys, not adb_key. So I'm pretty sure adb_key is the wrong filename (despite being cited at a frequency on par with the correct name).
Update my platform-tools and Android SDK packages. No dice.
- Can't actually update; I have the most recent version (18.0.1)
Remove and reinstall platform-tools. No dice.
By the way, my permissions for the adb_keys file are 300. Owner is root. Group is root. Or in other terms:
ls -l adb_keys -rw------- root root
Are you sure this is only happening to you on 4.3?
- Yes. I have no problems after installing any 4.2 rom with recovery, or the 4.2.2 factory image with fastboot.
And it's exactly the same issue with factory 4.3 or a 4.3-based ROM?
- Yes. Although I've only tried two or three roms, plus the factory image. There may be a magical rom out there somewhere that does work though.
Have you tried any other devices?
- I tested adb with my girlfriend's 2012 Nexus 7 running 4.3. It had no issues at all.
Any other computers?
- Unfortunately no. I only have my Linux Mint 15 box.
Okay, so that's basically the gist of it. Does anyone else have any clever ideas? (Or does anyone see where I was an idiot and made a mistake?)
File transfers over MTP also work fine.
Flashing the 20130910 nightly build of PAC-man actually gave me working ADB without the need to authorize my computer at all. This is fortunate, but the original question is still up in the air: Why can't I get it to work on stock?
tools/android
in your SDK download doesn't show any updates available?adb devices
say? Sometimes different images use different USB IDs.