Android Studio-设备已连接,但“离线”

这是一个相当常见的问题,但似乎没有一个解决方案对我有效。第一次问,所以如果我把惯例弄错了,我道歉。

我正在尝试将我的 Galaxy S5连接到运行 Ubuntu 14.04的电脑上,这样我就可以做一些 Android 开发了。我最近下载并安装了 Android Studio 和 SDK,当我的设备通过 USB 连接时会被检测到,但是这个设备要么显示为“未授权”,要么显示为“离线”。我知道我应该期待 RSA 密钥提示符,但这从来没有出现。

我试过了:

  • 已启用检查调试
  • 运行 adb kill-server 和 adb 设备
  • 重新启动(设备、开发人员选项、机器)
  • 简单拔插 USB 线
  • 检查我的 adb 版本(它是1.0.31)
  • 尝试不同的 USB 接口
  • 撤销 USB 调试授权
  • 在 Android Studio 中切换启用 ADB 集成
  • 作为 PTP 设备和 MTP 设备连接

我已经尝试了它在一个单独的机器上,运行软呢帽和这个工作没有任何问题,提示马上出现。因此,我想这不是 USB 电缆有问题。

有什么想法吗?

142002 次浏览

Try killing adb adb kill-serverthen disable usb debugging and then start adb by adb start-server then enable usb debugging and plug phone again and huh don't let phone sleep between process

EDIT

There turned out to be a problem with my laptop's ADB RSA key. I'm assuming my G3 was rejecting a bad key and disallowing my laptop to connect to it via ADB.

ADB saves a key file in one of multiple places on a Windows computer, the first is in the location where adb.exe is (C:\android), the second is in the user's >profile (C:\Users*username*.android), the third place is in the Windows system files (C:\Windows\System32\config\systemprofile.android), the file is >simply named "adbkey" with no extension. If there is no key file when ADB runs, it will generate one automatically.

Mine was located in my user folder (C:\Users*username*.android). All I had to do was delete the adbkey file (there was also a file named "adbkey.pub" which >I deleted as well), restart the adb server in command prompt (adb start-server) and plug my phone in. I instantly received the RSA Fingerprint Key window on my >G3 allowing connection between the two devices. Then typing "adb devices" returned my phone's serial number followed by "device" showing it was available. >I went back to the C:\Users*username*.android\ folder and sure enought there were new "adbkey" and "adbkey.pub" files.

got from XDA

EDIT 2

TRY this steps too

  1. Navigate to where .android is stored
  2. open .android and delete file named as adbkey and adbkey.pub
  3. Start ADB then typeadb kill-serverand adb start-server

You can try this:

  1. Go to tools/enable adb integration and uncheck it.

  2. now check it and run again. Next time, android studio will restart adb and it may find your device.

Try upgrade your Android SDK Platform as below steps:

  1. Run the SDK Manager

  2. Execute "Install packages…"

  3. Restart the SDK Manager

I tried and it's ok for me.

ref: link

You maybe having an older version of the ADB, Update the tools package and that should bring down the latest ADB.

Try these:

  • Unplug and replug the USB cable.
  • If it still doesn't work, unplug the USB cable, disable then enable USB debugging in the device settings.
  • If the above two methods fail, reboot the device.
  • If rebooting the device also fails, reboot Android Studio too.
  • If reboot Android Studio still fail, try adb kill-server then adb start-server

Hope this helps.

I also recently had this problem and I solved it by rebooting Android Studio. But my friend had to have the original cable for his device, no other cables worked.

Could not get Samsung Note II (N7100) to connect.

Step 1. Follow answer from user4847410 above. Next time you connect your phone it will come up with an authorisation message and you're in.

Step 2. I also swapped my cable.

Step 3. Check USB port as if you install on one particular port then another port may not be ok for you.

Note: made two batch files

adb-fix.bat

adb kill server
adb start server
pause

adb-devices.bat

adb devices
pause

-- voted for that correct answer but I don't have enough kudos so it was removed! --

This problem is because you have used an old adb version and not support on your device. or you have more than one adb

The key is:

  • make sure you have a latest adb executable on your SDK
  • Make sure to run adb command from "SDK_DIR/platform-tools/" because this should be the latest version (type command "which adb" to check) if u have more than one adb file, you can rename another one.

in my case, on my Windows 7 i have one more adb on "C:\Windows\adb.exe" and its an old version, so my adb command always run from that file. I fixed the problem by running adb form my sdk directory "SDK_DIR/platform-tools/adb.exe"

  • Restart adb by issuing these commands in cmd

    adb kill-server to kill existing adb session

    followed by adb start-server to start a new adb session
  • Disable and re-enable USB debugging on the phone and accept RSA fingerprints if asked by phone
  • Rebooting the phone if it still doesn't work.

If all above don't solve your problem, you may try delete environment variable named "ANDROID_SDK_HOME". It really solved my problem. Hope it Help you!

In my case (same problem - that Nexus 5 is connected but with "offline" status) the problem was solved by "Invalidate caches and Restart" in Android Studio. Suppose that problem was in adb and restarting Android Studio causes to adb restart.

My fix to this issue:

  1. Android settings
  2. Developer options
  3. Revoke USB debugging authorizations
  4. Replug in device and accept authorization as usual.
  5. Profit

Download and Install your device driver manually through visiting manufacturer website like :Samsung,micromax,intex etc.

In my case the problem was that I used a USB extension cable. As soon as I plug the microUSB cable right into the PC the device has detected.

To fix this, use USB2 instead of USB3

In my case, turned out that you need to be logged as owner of device to properly accept the USB debugging.

Tried the "Disable and re-enable USB debugging on the phone" step but didn't get the RSA prompt on "normal" user, switched to owner and tried again and got it.

On windows--> Launch your terminal from the platform-tools folder inside android sdk.

Then use the following commands

adb kill server
adb start server

it should work

I had this issue on a device with USB-C using a microUSB cable with a USB-C adapter. After switching to a USB-C cable without any adapter it worked. I only saw this issue on a LeEco.

A shorter cable did the trick.

It turns out that the wire thickness used inside the cable impacts on the resistance of the cable assembly – this resistance causes energy loss inside the cable when an attached load draws a current, and causes a voltage drop which can reduce the voltage to the end device to a point where it is not possible to charge quickly or completely.

http://goughlui.com/2014/10/01/usb-cable-resistance-why-your-phonetablet-might-be-charging-slow/

If you are on windows and you encountered the same problem, try killing the adb.exe process from task manager and then rerun your app.

Change the USB cable !!!! I can't explain this technically, however after a lot of trial and error, this what have worked for me.

Reboot the your mobile this will fix it.

Step 1: Turn off USB DEBUGGING in Developer Options

Step 2: Remove USB Cable

Step 3: Turn on USB Debugging(This rests USB Configurations)

Step 4: on Command Prompt enter adb kill-server and then adb start-server

Step 5: Connect the USB Cable

Step 6: Check Devices connected in Run in Android Studio(you should be able to see your device listed)

Step 7: If you want to continue running using the cable this would be good enough

(If you want to do Wireless Debugging continue with below step)

Step 8: type adb tcpip 5555. If no error is displayed remove USB Cable

Step 9: Look up IP Address of your phone from About abd then type adb connect xxx.vvv.b.n(your phone's IP)

Step 10: Check in Devices in Android Studio again and you shud see you r device in List of devices. If yes,

I had a long white cable. Just wouldnt stay connected. Switched to another, shorter, black cable and it works 100% of the time.

Disabling and Enabling the Developer options and debug mode on the Android phone settings fixed the issue.

I tried most of the things on this page and none of them worked for my Samsung S5. However, when I switched the cable to a USB-C type the problem seemed to be solved...until next time.

Besides the solution mentioned above, try to download Samsung's Android USB Driver for your platform. Here is a link to the Windows one:

https://developer.samsung.com/galaxy/others/android-usb-driver-for-windows

If your app doesn't manipulate WiFi connections - another slightly different solution, which bypasses USB issues entirely - enabling a wireless debugging connection - ADB over WiFi/TCP/IP.

Earlier for almost 3hrs I did:

  1. I tried everything given in several sites and my android device never came online.
  2. when I was running adb kill-server and then adb-startserver the "Device File Explorer" on the right bottom of the android studio showed "Device is not online (DISCONNECTED)".

Here is how solve this:

  1. Revoked all USB debugging authorization on the device under "Develop options"
  2. And I added sudo to command "sudo adb kill-server" and then " sudo adb start-server".
  3. After this the message in "Device File Explorer" in android studio changed to "device is pending authentication please accept debugging session on the device". But no message appeared on the device. Tried stopping-restarting adb, connect reconnet usb cable, stop-start usb debugging but nothing worked.
  4. Went back to device and changed the device usb settings from usb charging to "PTP", and, restarted the Android studio. And, boom, the message appeared on the phone to accept the debugging session on device.

use this command

-> adb disconnect


-> adb connect <ip address for your mobile:port number>

Eg : adb connect 192.168.2.58:5555

Change your USB Preferences to File Transfer if you use your smartphone to debug.

There are several option :

File Transfer /* Choose this one */

USB Tethering

MIDI

PTP

No Data Transfer