我再也不能通过命令行或Eclipse使用ADB连接到我的设备了。

执行命令

adb devices

返回设备名称,但显示为脱机状态。

我尝试过的事情。

切换Android调试模式 重新安装谷歌USB驱动 将操作系统恢复到以前工作的备份(CyanogenMod) 换掉USB数据线 多次重启电话/电脑 更新Android SDK

我真的不知道发生了什么。你觉得我还能试什么,我洗耳恭听。

需要明确的是,如果你遇到了同样的问题,那么问题可能是SDK过时了。从4.2.2开始,有一个安全特性需要您确认连接设备的RSA指纹。打开SDK管理器并更新工具!然后重新启动。


当前回答

我更新了很多次,直到我不能再更新了,但我的屏幕上从来没有出现过提示;我一直让设备离线。

我的问题是,我在与实际更新的目录不同的目录中运行ADB命令。

ADB exe的正确更新目录是:

C:\Program Files (x86)\Android\android-sdk\platform-tools\

其他回答

好吧,这里没有巫毒,没有盲目尝试,(我希望)解释清楚的解决方案(对不起,我愤怒了,我试着用谷歌搜索解决方案几乎一整天都没有结果)。

首先,让我们了解一下adb与设备的通信方式: https://android.googlesource.com/platform/system/core/+/master/adb/protocol.txt

简短的故事:主机adb在5037上建立服务器,通过tcp端口5555(默认)连接到设备上的adbd。

这意味着-为了工作,您的adb必须有一条通往本地5037和远程5555的清晰道路。 如果你不能或不想使用USB,你可以在设备上(使用设备终端)设置adbd来监听,而不需要建立USB连接:

setprop service.adb.tcp.port 5555
stop adbd
start adbd

使用netstat -plant | grep adbd检查adbd是否正在监听端口5555(或您选择的任何其他端口)。

现在使用捕获过滤器端口5555启动Wireshark。在您的主机上执行此命令:adb connect device_ip:5555(如果使用非标准端口则替换5555)。

根据上面的文档,您应该可以看到来自两个方向的CNXN命令!如果您的远端没有回复,adb设备将说您的设备离线!游戏结束了。Adb devices不做任何网络交换,它只是显示Adb connect命令的结果。

我的问题是——我一直在Virtualbox中运行Android,使用NAT网络和转发5555端口。另外,我在端口5554上运行了一个模拟器。它并没有占用5555,但不知为何,这两个干扰和中断了Virtualbox在较低级别的连接,因为我有很多奇怪的重复ack和rst在界面上飞来飞去。这个问题的解决方案是选择一个不同的端口。

如果我说错了请告诉我,但我以前没见过有人这么提议。也没有解释它应该如何工作以及为什么要工作。

我在尝试使用Android 11中内置的“无线ADB”功能连接时偶然发现了这个问题。

我没法把它接好。总是显示为“脱机”。

我所做的是:

首先断开所有ADB设备,这是一个很好的措施:

adb disconnect

然后在开发人员选项中,进入“无线ADB”功能,如果您还没有这样做的话。转到“使用密码配对”或类似选项。在那里,一个IP和端口将弹出一个对话框,连同一个引脚。连接到电话使用:

adb pair 192.168.2.xxx:42838 # Put the IP and port of that dialog in this way

(注意主窗口上的端口和PIN弹出框上的端口是不一样的)

您的(PC) ADB将提示您输入pin。输入并按ENTER。

这样,手机上弹出的PIN码应该消失,计算机名应该显示在主窗口的可信设备列表中。

如果你做到了这一步,下一步肯定会奏效。尝试现在连接到您的手机使用:

adb connect 192.168.2.xxx:53548 # This time use the port shown in the main window!

它应该连接好了,你就可以出发了。

我通过同样的问题,这解决了我。首先通过usb连接您的手机,然后确保您检查您的移动IP在设置>>关于手机>>状态下运行以下命令。


adb kill-server
adb start-server
adb tcpip 5555 //it resets port so put port you want to connect
adb connect 192.168.1.30:5555 //ip:port of your mobile to connect
adb devices //you will be connected over wifi

你能想到的我都试过了。 6小时....一个愚蠢的解决方案。

对我来说似乎有效的方法是关闭笔记本电脑,拔下笔记本电脑插头,取出电池,按住电源按钮10秒,再次启动。

所以疯了。但也许它会帮助其他人。

注:我的情况是:一切都运行得很好,开发工具窗口打开并工作,然后3个设备都离线了。(并且无论重启[计算机+设备],安装/卸载驱动程序/adb/android studio, Windows更新,切换调试选项,都不会回来。)

我的理论是发生了某种电荷/能量的事情.....

尝试关闭usb调试一次,然后再次启用它,然后将您的设备连接到system: link