ADB无线连接下设备离线

24

由于某些原因,我的手机不再能够使用有线连接。

我在互联网上看到可以通过Wifi连接adb,但是我尝试了一下,出现了这个结果:

adb devices
List of devices attached
192.168.1.2:5555        offline

我在谷歌上搜索了这个问题,看起来它与Android 4.2.2有关。 而且,我的设备确实正在运行Android 4.2.2。

由于我的问题始终是在WiFi上出现的,所以我在谷歌上没有找到任何答案...

你有什么解决办法吗?


这个答案可能会对你有所帮助,如果你的手机也是8.0系统。 - user1665375
25个回答

46

对我来说,完整的可行步骤是:

  • 设置 - > 开发人员选项 - > 撤消 USB 调试授权(清除已授权计算机列表)。

  • 关闭 USB 调试。

  • 在终端中写入:adb kill-server

  • 然后:adb start-server

  • 接下来:adb connect xx.xx.xx.xx:5555 (设备 IP),应该会显示无法连接。

  • 现在再次打开 USB 调试并重新键入 adb connect xx.xx.xx.xx:5555。

    它现在应该会询问授权,这样您就可以在不需要将电缆连接到 USB 的情况下在线使用 Wi-Fi 了。


3
关键是要关闭 USB 调试,然后再打开它。如果在不同的电脑之间切换,这似乎是必要的。 - Nick
这对我来说是真的。 - mostafa
我之前使用的是旧版的 ADB,后来我到官网下载了最新版本的平台工具,一切顺利进行。 - RAZERZ
杀死并重新启动服务器对我来说起作用了。 - undefined
很遗憾,这一切对我来说都是必要的,谢谢你。 - undefined

11
运行adb kill-server,然后再尝试无线连接。这对我起了作用。

谢谢!这对我很有帮助,可以在adb设备和Android-Studio中触发处于“离线”模式的手机上的消息“允许USB调试?” - ofir_aghai

10

我也找不到这个问题的确切解决方案。

对我最有效的方法是将设备从Wi-Fi中断开连接,然后在设备未连接到Wi-Fi的情况下尝试重新连接,如下所示:

adb connect 192.168.55.3:5555

这会导致adb等待连接。立即将设备连接到WiFi,adb会重新检测设备并重新连接。 希望这可以帮到您。


5

断开wifi上的adb连接,使用USB线将手机连接到电脑。手机会询问您是否允许连接,请勾选“始终允许”。只有在使用USB连接时才会出现此提示,而且只需进行一次,之后即可通过wifi连接。 没有弹出提示?尝试使用USB线并查看谷歌上的解决方案,因为您需要先进行此操作。


我做不到那个... 我想通过wifi连接的原因是我的手机USB插头已经坏了,不能再使用了。 - vital
这是我找到的唯一解决方法,可惜只能通过 WiFi 触发弹出窗口。 - P1nGu1n

4

看起来您想通过WiFi进行adb身份验证。如果您的设备已经root,可以尝试以下方法。

  • 将~/.android/adb_key.pub复制到您的安卓设备,并将其重命名为adb_keys

  • 将其移动到/data/misc/adb/

  • 重新启动您的安卓设备,然后通过WiFi重新连接。


如果您拥有root访问权限,则无需重新启动,只需执行以下操作:adb shell su 0 setprop ctl.restart adbd - diyism
通过这个方法,我可以允许adb连接到VirtualBox的android-x86 CM13。通常的连接在安卓设备上没有任何提示。 - Enyby

3

在第一次调试模式中,您需要使用USB电缆将手机授权给电脑。之后,您可以使用无线网络进行调试。

如果您想强制手机显示授权消息框,请删除以下文件。

/data/misc/adb/adb_key

3
  1. 在Android Studio中,前往"Preferences->Plugins"。
  2. 下载并安装这个插件 ADB WIFI Connect ,然后重启Android Studio。
  3. 通过USB连接手机。
  4. 在Android终端使用命令:adb devices,你应该能看到通过USB连接的设备:
List of devices attached

988a57334e57365058      device
  1. 点击Android Studio中的插件图标 AndroidWiFiADB
  2. 如果手机通过WiFI成功连接,你会在事件日志中看到:

12:41 Android WiFi ADB: 设备 '您手机的型号' 已连接。

  1. 在Android终端中使用命令:adb devices,你应该会得到:
List of devices attached
988a57334e57365058      device
192.168.60.101:5555     device
断开USB电缆,重新检查 adb devices,应该只保留通过WiFi连接的设备。
List of devices attached
192.168.60.101:5555     device

对于Android Studio 3.2.1,"插件"的用户界面已移至 "文件 -> 设置 -> 插件"。 - Owen Chen

3

我为华为P10解决了这个问题。 问题出在手机的开发者设置中 => 找到USB开发者设置,在USB开发者设置下,有一个“充电模式下启用ADB调试...”启用它。我的问题就是通过这种方式解决的。希望你也能解决...


这在我的三星A12上也可以运行。 - Melad
适用于华为荣耀8X。 - kennykee

2

尝试使用以下方法断开您的设备:

abd disconnect <IP/TCP>:<port>

然后重新启动设备的WiFi连接,并使用以下内容重新连接设备:

abd connect <IP/TCP>:<port>

那可能解决问题;对我来说有效。

2
对我来说,最重要的部分是以下一行代码:adb tcpip 5555在我的手机IP中使用端口,如下所示:adb connect 192.168.1.87:5555(只使用其中一个,不起作用,即:单独编写第二个无法工作,编写第一个然后在IP中排除端口也无法工作)。这里没有提到adb tcpip 5555代码。所以,对于我来说,需要手动设置端口并且在连接行中使用它! 以下是展示Windows PowerShell Admin命令行的事件(Wifi开启,调试模式开启并在弹出窗口中确认权限): 请注意,连接首先失败,然后说它已连接,这是奇怪的行为(无论如何,它总是失败一次,“成功”一次),在两种情况下,设备都显示为离线。断开连接命令也确认了其100%离线
PS C:\WINDOWS\system32> adb kill-server
PS C:\WINDOWS\system32> adb start-server
error: protocol fault (couldn't read status): Connection reset by peer
PS C:\WINDOWS\system32> adb start-server
* daemon not running; starting now at tcp:5037
* daemon started successfully
PS C:\WINDOWS\system32> adb connect 192.168.1.87:5555
failed to connect to 192.168.1.87:5555
PS C:\WINDOWS\system32> adb devices
List of devices attached
220947272e047ece        device
192.168.1.87:5555       offline

PS C:\WINDOWS\system32> adb connect 192.168.1.87:5555
already connected to 192.168.1.87:5555
PS C:\WINDOWS\system32> adb devices
List of devices attached
220947272e047ece        device
192.168.1.87:5555       offline

PS C:\WINDOWS\system32> adb disconnect 192.168.1.87:5555
error: no such device '192.168.1.87:5555'
PS C:\WINDOWS\system32> adb disconnect 192.168.1.87:5555
error: no such device '192.168.1.87:5555'
PS C:\WINDOWS\system32> adb tcpip 5555
restarting in TCP mode port: 5555
PS C:\WINDOWS\system32> adb disconnect 192.168.1.87:5555
error: no such device '192.168.1.87:5555'
PS C:\WINDOWS\system32> adb connect 192.168.1.87:5555
connected to 192.168.1.87:5555
PS C:\WINDOWS\system32> adb devices
List of devices attached
220947272e047ece        device
192.168.1.87:5555       device

当我执行了adb tcpip 5555命令并在TCP模式端口:5555下重新启动后,adb connect 192.168.1.87:5555命令就可以正常工作了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接