android usb断开后,Adb在wifi上消失了?

nukf8bse  于 2022-12-02  发布在  Android
关注(0)|答案(7)|浏览(268)

因此,使用我的Nexus 5,我可以轻松地通过WiFi连接adb:

adb tcpip 5555
adb connect 192.xxx.x.xx

然后断开USB线。我有另一个设备IM试图连接(戴尔Venue 8平板电脑),但它似乎在USB拔出后的一瞬间就从ADB WiFi连接上断开了。
我使用相同的命令:

adb tcpip 5555 (<- without another device connected)
adb connect 192.xxx.x.xx (tablet ip here)

在此之后执行adb设备会显示wifi adb连接以及usb连接,但对于平板电脑,只要我杀死usb连接,wifi adb连接也会终止。
有人对为什么会发生这种情况有什么想法吗?

aurhwmvo

aurhwmvo1#

出于某种原因,在仅充电模式下连接设备解决了问题。只要确保在连接设备之前启用“允许ADB在仅充电模式下调试”。
https://stackoverflow.com/a/51904546/4470297

taor4pac

taor4pac2#

尝试在没有usb电缆的情况下连接到它。

  • 步骤1.在你的手机上使用wifi adb来获取ip(需要root手机,但是因为你的堆栈溢出,我猜你有一个)。
  • 步骤2.键入您的控制台adb connect(wifi adb中显示的ip)

如果这不起作用,请张贴您在尝试连接时在控制台中得到的确切消息。
Non-Rooted Solution:

  • 在开发者设置中启用USB调试,并通过USB将手机连接到计算机。
  • 运行adb命令adb tcpip 5555(确保端口5555未被任何防火墙程序阻止)
  • 获取分配给设备的Wi-Fi IP地址并运行adb命令

adb connect <IP_ADDRESS>。例如,adb connect 192.168.1.133

  • 现在,您可以断开USB电缆并通过Wi-Fi运行adb shelladb installadb push命令。
  • 要切换回USB模式并禁用无线模式,请运行以下adb命令。

adb usb

  • 您也可以简单地重新启动您的手机切换回USB模式。
r3i60tvu

r3i60tvu3#

先决条件

Android设备和计算机应连接在同一网络中。(如果您没有任何网络,则可以通过启用设备中可用的Wifi热点来创建自己的网络)

步骤1:

使用USB电缆将Android设备连接到计算机

**步骤2:**在终端中使用以下命令以确保adb在USB模式下运行。

  • $adb usb*

在USB模式下重新启动通过USB连接到设备。

步骤3:

在终端执行以下命令,确保adb identify/list与设备连接。

  • $adb设备 *
    **步骤4:**使用以下命令将adb模式从USB更改为tcpip。
  • $亚行技术合作伙伴计划5555*

在TCP模式下重新启动端口:5555

**第5步:**现在,adb正在TCP/IP模式下运行,让我们找到Android设备的IP地址。

  • 进入Android设备中的设置-〉关于-〉状态-〉IP地址。记下连接的Android设备的IP地址。*
    **步骤6:**使用以下命令连接ADB与IP地址
  • $adb连接#.#.#.#*

已连接到#.#.#.#:5555

**步骤7:**现在adb是通过Wi-Fi工作,您可以从Android设备中删除USB电缆。
**第8步:**要确认adb通过Wi-Fi工作并且您的设备仍处于连接状态。您可以使用以下命令

  • $adb设备 *
  • #.#.#.#:5555设备 *
    您现在可以出发了!通过Wi-Fi享受ADB。

使用以下命令将ADB模式更改为USB

  • $adb usb*
b1zrtrql

b1zrtrql4#

对我来说,看起来这是ADB服务器版本(39)的一个bug。我更新到(41),问题就消失了。
这是超级奇怪,因为我在两个不同的PC上使用版本39和一个adb/wi-fi工作,而在另一个,只要我拔下USB电缆的Wi-Fi设备将成为断开以及.🤷🏻‍ ♂️

m528fe3b

m528fe3b5#

根据Google对ABD debugging over wifi drops, when third-party USB device is plugged in the phonehttps://issuetracker.google.com/issues/112410852的回应,这是预期行为:

Status: Won't Fix (Intended Behavior)
usb state changes cause the system to restart adbd.

因此,您可以使用flutter attach命令重新附加调试。
以下是vscode(.vscode/launch.json)的范例:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Flutter",
            "request": "launch",
            "type": "dart",
            "program": "${workspaceFolder}/lib/main.dart",
        },
        {
            "name": "Flutter Re-Attach",
            "request": "attach",
            "type": "dart",
            "program": "${workspaceFolder}/lib/main.dart",
        },
xriantvc

xriantvc6#

我建议:
1.确保两个设备都在同一网络上。
1.运行adb connect时给予端口号。
1.确保默认端口5555未被任何其他服务使用
1.当你更换设备时,你是否仔细检查了IP(在WiFi连接中,IP不断变化)

s1ag04yj

s1ag04yj7#

我的研究结果,这是Android Studio 2.3.1中的一些错误或意外行为,在某些情况下会杀死正在运行的adb服务器(所有打开的连接)。例如,当您断开USB电缆或关闭Android Studio应用程序时。
重现步骤:
1.通过控制台窗口创建与Android设备的TCP连接(即adb connect 192.168.0.96)
1.检查设备是否已连接(adb设备)
1.运行Android Studio并加载任何项目
1.打开“选择部署目标”窗口
1.关闭此窗口和Android Studio
1.检查adb服务器是否已终止(adb设备)。

相关问题