可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
Edit: Fixed! Looks like there are very many possible causes for this. Mine was one of the more unusual...
I updated SDK Tools to 21.1 and Platform-tools to 16.0.1. Verified with adb version
that I am running v1.0.31. My development machine is running Windows 7, x64.
I have four 4.2.2 devices to test with, a Galaxy Nexus with unlocked bootloader but not rooted, and Nexuses One, 4, 7 & 10, all stock.
The Nexus One, being <4.2.2, works just fine with adb, but all the 4.2.2 devices show as 'offline' in adb, and I have NEVER seen the RSA security dialog pop up on the devices, even after several restarts of ADB (using kill-server
), the PC and the devices themselves.
Have tried using different USB ports and cables. I'm using the standard 'Android ADB Interface' drivers from the SDK, but have also tried the 'Android Composite ADB Interface' and 'Samsung Composite ADB Interface' drivers too. I even completely re-installed the SDK from the ADT bundle.
Weird thing is, my colleague can get the popup to show on those same devices without any trouble. I even copied his adb.exe and dll's and tried that and it still wouldn't work on mine. He didn't install from the bundle; he installed ADT into Eclipse, the old-fashioned way, but I doubt that would make a difference. What gives?!
Edit 26/02/2013, 16:41 GMT: An update to Platform-tools 16.0.2 was just released. Hasn't updated ADB (still v1.0.31) and still seeing device as offline, and no RSA security popup in sight.
回答1:
It turns out I had my ANDROID_SDK_HOME
environment variable pointing to an old location which no longer existed. It hadn't caused any other problems (strangely) but it appears to have been preventing the RSA authentication process from happening. Probably should've seen it when I was checking the PATH variable the other week, but never mind.
I found the strange location by running the following and checking the readout:
adb kill-server
set ADB_TRACE=all
adb nodaemon server
After updating the location and restarting my PC, it's now working just fine. Thanks to all who responded.
回答2:
Best solution I found ever is:
- Check your adb version by using the command:
adb version
for Windows and ./adb version
for Linux.
- If it showing 1.0.29 please upgrade it to 1.0.31 because 1.0.29 will not respond for JB 4.2.X
- It will fix your device offline problem.
- If your system already have the new adb(1.0.31) and facing this problem, in that case open sdk and upgrade platform tools to 16.0.1
- Restart your device at least one time.. :) it will work fine for all the devices...
回答3:
I had the exact same problem, and this is what worked for me: if you've created multiple user accounts on your Nexus 7 device, then you won't get the security popup unless you're logged in to the same account that was used to enable USB debugging on the device. Do that, and when you see the popup make sure that you check the option that says "always trust this computer", then it should work for other accounts as well.
回答4:
ADB_TRACE revealed the answer to my problem (a permissions issue with the ~/.android folder on my Linux system was preventing the key being generated). Many thanks for this.
回答5:
This will definitely work:
In platform-tools hold shift and right click.
Select open command prompt here.
adb kill-server
adb devices
Say yes to popup on phone.
Your device will be connected.
If still not working try reconnecting device and checking for adb devices again
回答6:
I did this and it works on my windows 8:
- Open Computer -- Manage in File manager
- On system Tools/Device manager, remove any existing android related items.
- Click "Scan for hardware changes".
- The device showing up as a warning sign.
- right click the device, click "Update driver software".
- choose ANDROID_SDK_HOME\sdk\extras as source of drivers.
- On device, turn off USB debugging off and on ( or for several times)
Wow, the popup shows up in the device!
回答7:
Multiple adb.exe files ?
My problem was solved when deleted a copy of OLD adb.exe from C:/Windows/.
I don't know how a copy of adb.exe got to the C:\Windows\ ?
When I launch adb.exe from android-sdk/platform-tools/ I had no problem with detection.
回答8:
I had the same problem and setup. Windows 7, x64, Eclipse Indigo, one user on the device etc.
I tried adb devices
using v1.0.31 and under no circumstances did I see a pop up on the device. I tried all sorts of combinations of turning on/off debugging, plugging the USB back and forth, restarting the device etc. Nothing worked. I also tried rooting the device in order to manually copy over the finger print file. However, the device went down beyond repair (not to recommend to anyone). I have more than one Nexus 10 so kept on trying with the other ones.
I am using bootcamp though (using Windows on a Mac laptop) so one last attempt was to try the same thing under OSX. On the first attempt doing ./adb devices
from the terminal, the popup showed up. I accepted the fingerprint and now it's working in OSX.
I prefer Windows over OSX so this is not an ideal workaround as I still can't get it to work in Windows. I'll keep an eye open for solutions to this but in the meantime, I hope this helps other people with bootcamp issues.
回答9:
Flip Android debugging on the device off and back on. That gave me the device popup.
回答10:
I am running Windows 7, one account on Nexus7. I had to actually check the box "always trust this computer" for it to work. It didn't matter how many times I got the acceptance to pop up and select ok. It didn't work until I finally checked the box. Now it's fine and is recognized by adb.
回答11:
Switching from the Samsung USB drivers (that shipped with the Nexus Root Toolkit) to the USB drivers provided by Google (through their SDK) did the trick for me.
回答12:
I had this very problem, and found an answer: Either I fat fingered the phone or was not paying attention or it simply did not pop up saying here is the RSA pubkey check to allow for computer, I kept getting offline status. I followed every direction on the map, from having a LONG list in my rules file to reinstalling ADB 50 times. Yes it does need to be version 1.0.31, which I have. If this is you then read on....
Disconnect your device.
Use these commands in the terminal, assuming you are using BASH.
adb kill-server
sudo bash
cd ~
mv .android BAK.android
Now that you have effectively removed the initial RSA key, make sure USB Debugging is enabled on the device. Re-connect the device and pay attention to the screen. Make sure to check the 'remember this computer' box. Press OK. Problem solved.
回答13:
I had same issue. Not sure if it applies but are you using adb as a root?
For me killing adb server and doing:
sudo ./adb devices list
resulted in security prompt. After accepting it pernamently and running above command I've finally got it to connect.
回答14:
I had the same problem as OP but originating from an adb.exe copy in C:\Windows, much like user1269737 appeared t have. This had precedence in Windows PATH, so no matter how much I updated he SDK, it wouldn't help as the updated ADB wasn't being used.
Someone told me it might have been a version of the Android Studio bundle that installed it there (go figure...). I can't confirm it because:
1. Current AS bundles don't appear to be doing this and...
2. I install a lot of ROM flashers/tools that bundle ADB (XDA Developers stuff).
So I can't confirm it was Android Studio.
Protip: use adb version
and where adb
commands in cmd to check what version you're using and which executable you are running
回答15:
I tried all the these things and still couldn't get Windows to display the RSA prompt on my Android device. After hours, this is how I got it working:
- Connect device to PC via USB
- [Windows Key] + [R] > [type] devmgmt.msc
- Locate your device in the list
- [Right Click] > Uninstall
- Download Google USB Driver package: http://developer.android.com/sdk/win-usb.html#top
- Extract the zip to your desktop
- Back to devmgmt.msc > [Right Click] root of the tree > Scan for Hardware Changes
- Locate your device in the list
- [Right Click] your device > Install > Choose/Browse files
- Browse to the usb_driver folder you extracted to your desktop
- Windows will use the Google USB driver instead of the driver for your phone.
My problem was that the LG driver was installed on Windows. Once I deleted that and installed the google driver, it works perfectly. The RSA prompted displayed right away.