【发布时间】:2016-07-29 06:25:40
【问题描述】:
我正在使用Android平板电脑通过USB端口与USB设备通信,平板电脑只有一个USB端口,所以我使用adb wifi作为我的调试工具。但是,当我通过WIFI连接adb时,连接不会保持很长时间(我们通常只有几分钟),如何保持adb wifi连接一直在线? 另一个问题,是否可以使用USB HUB将平板电脑与USB闪存驱动器和我的电脑连接,并保持adb运行? 非常感谢!!!
【问题讨论】:
我正在使用Android平板电脑通过USB端口与USB设备通信,平板电脑只有一个USB端口,所以我使用adb wifi作为我的调试工具。但是,当我通过WIFI连接adb时,连接不会保持很长时间(我们通常只有几分钟),如何保持adb wifi连接一直在线? 另一个问题,是否可以使用USB HUB将平板电脑与USB闪存驱动器和我的电脑连接,并保持adb运行? 非常感谢!!!
【问题讨论】:
经过多次不成功的尝试,我注意到打开Allow ADB debugging in charge only mode规范,解决了这个问题。它使设备在线并可通过 wifi 访问 ADB。 您可以在开发者选项部分找到它。
【讨论】:
这是我在各地研究和自己开发一个多星期后发现的。
A1。不时调用 adb 命令使 adb 服务器保持在线。
A2。在连接设备上检查 wifi 之前,请检查 ADB 服务器正在运行的 wifi。 Ping 到 google,如果连接良好,则 ping 到设备。
无线可以自行断开连接,有时甚至会断开有线连接。所以当设备尚未连接时调用“adb connect ...”是必要的。您可以通过保存“adb devices > device.txt”并查询您预期的 wifi 是否在列表中来轻松完成此操作。如果没有,请重新连接..(在另一个线程中执行此操作)。
A3。这是因为通过 TCP/IP 连接,您的 ADB 服务器现在处于 Time_Wait 状态。最后一个连接被中断,下一个连接现在离线,因为最后一个连接没有完全关闭。您可以手动断开/连接设备的 wifi 或通过 ex)“adb tcpip 5555”重新启动 TCPIP 连接 如果您想自动执行此操作,则必须以编程方式断开/连接设备的 wifi。
【讨论】:
当连接丢失并且adb devices显示设备离线时,如下所示:
prompt> adb devices
List of devices attached
192.168.1.1:5555 offline
然后adb disconnect IP 后跟adb connect IP 通常会起作用:
prompt> adb disconnect 192.168.1.1
disconnected 192.168.1.1
prompt> adb devices
List of devices attached
prompt> adb connect 192.168.1.1
connected to 192.168.1.1
prompt> adb devices
List of devices attached
192.168.1.1:5555 device
【讨论】:
在没有任何第三方应用的情况下通过 wi-fi 使用 adb。按照步骤操作。
通过 USB 连接设备
打开您的终端并使用adb devices 命令检查您的设备
键入adb tcpip 5555 并输入(或使用其他端口而不是5555)
拔出 USB 数据线。你不再需要它了。
拿起你的安卓手机去设置/关于/状态
检查 IP 地址部分。假设您的 IP 地址是 192.168.x.y
在您的终端中,编写命令adb connect 192.168.x.y
现在,您已经通过 wi-fi 连接了您的设备。
你可以在adb devices看到你的设备
尽情享受吧! :)
【讨论】:
adb tcpip 5555 的设备,因此当我回到办公桌前时,我无法捕获 logcat 来调试发生的任何问题。如何防止这种情况发生?
adb kill-server 然后adb start-server。然后再次应用这些步骤。
这似乎是您的 wifi 的问题。作为预防措施,只需保持终端打开,每当您需要测试时,只需按“向上箭头”键即可访问之前运行的 adb connect "<ip>" 命令。
【讨论】:
我尝试了很多方法,但这个方法对我有用: 在循环中强制显示打开和关闭将使设备保持在线
adb shell input keyevent 224
timeout 2
adb shell input keyevent 26
timeout 58
这会每分钟打开一次显示屏,持续 2 秒
【讨论】:
while :; do clear; adb shell input keyevent 224; sleep 2; done 尝试过。连接保持稳定的时间更长,但过一会儿又断开了:o/
所以,我正在使用 Scrcpy 和 Adb 无线连接到我的手机(用于开发 Flutter 应用程序),因为即使通过 Scrcpy --stay-awake 命令,屏幕也不会保持唤醒状态。
我不得不更改锁定设置 => 锁定屏幕 => 睡眠,并将设置更改为从不睡眠。
【讨论】: