gpt4 book ai didi

android - 没有一致的方式通过 TCP 连接 ADB

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:38 33 4
gpt4 key购买 nike

我正在调试一个 Android 应用程序,当我插入它应该与之通信的 Arduino 时,它通常会崩溃。因此,我需要与设备的 logcat 建立无线连接,这就是我找到 ADB over TPC 的原因。如 Android 开发者网页所示。

推荐的流程是:

C:\Users\User> cd AppData\Local\Android\sdk\platform-tools
C:\Users\User\AppData\Local\Android\sdk\platform-tools> adb kill-server
C:\Users\User\AppData\Local\Android\sdk\platform-tools> adb start-server
* daemon not running; starting now at tcp:5037
* daemon started successfully
C:\Users\User\AppData\Local\Android\sdk\platform-tools> adb tcpip 5555
restarting in TCP mode port: 5555
C:\Users\User\AppData\Local\Android\sdk\platform-tools> adb connect 10.20.5.160:5555

但是,典型的响应是:

unable to connect to 10.20.5.160:5555: cannot connect to 10.20.5.160:5555: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. (10060)

我无法始终在 PC 和移动设备之间建立连接。在使用多个网络和设备的三个星期的过程中,经过多次痛苦的尝试,我只能连接两次。

我深入研究了 stackoverflow 上发布的问题,并尝试了每一个建议的改变来获得 adb 连接,从使用 Android Studio 插件到转发端口,再到尝试其他几个端口,再到切换我的设备的互联网。我仍然无法在超过百分之一的时间内建立连接。

当我在 adb tpip <port> 之后查看设备的网络状态时,我没有发现设备试图寻找连接的证据:

C:\Users\User\AppData\Local\Android\sdk\platform-tools> adb shell
j3ltevzw:/ $ netstat -n
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 ::ffff:10.20.5.160:4214 ::ffff:173.194.196.188: ESTABLISHED
udp 4288 0 adb shell ip -f inet addr show wlan0:68 10.20.5.1:67 ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
... ... ... ... ... ...
... ... ... ... ... ...

此外,当我尝试对我的设备执行 ping 操作时,我通常会得到:

C:\Users\Benjamin\AppData\Local\Android\sdk\platform-tools> ping 10.20.5.160

Pinging 10.20.5.160 with 32 bytes of data:
Reply from 10.20.5.232: Destination host unreachable.
Reply from 10.20.5.232: Destination host unreachable.
Reply from 10.20.5.232: Destination host unreachable.
Reply from 10.20.5.232: Destination host unreachable.

Ping statistics for 10.20.5.160:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)

我正在寻找的是一个可以运行并持续打开 tcp adb 连接的进程或文件,或者至少解释一下我的设置是无效的。想法?

更新 1:

我已经开始悬赏这个问题。我觉得用于调试连接的 ADB 软件有两个问题:

  1. adb tcpip <port>不总是调用移动设备监听指定端口

  2. adb connect <ip>:<port> , 我假设, 没有被网络允许连接;我不是网络专家,但对设备执行 ping 操作返回“目标主机无法访问”这一事实似乎有点不对劲

我将奖励第一个找到成功解决方案的人。看到具有 ADB USB 连接的用户可以访问移动设备和主机的终端,确实没有理由不能在两者之间建立连接。

更新 2:

我最近在连接到 ADB 以及在我的学校网络上接收到成功的 ping 方面取得了更大的成功。请注意,此网络连接是不安全的,并且主机和移动设备位于不同的子网上。知道为什么这些条件会在我家中仅使用一个子网的安全网络上工作吗?

最佳答案

尝试从头开始并按照以下步骤设置 ADB-over-tcp:

  1. 关闭设备上的 USB 调试,然后重新打开(只是为了重置)。
  2. 使用adb kill-server 关闭您PC 上的ADB 服务器
  3. 使用 USB 数据线将您的设备连接到 PC,然后键入 adb devices .这将再次自动重新启动 ABD 服务器。
  4. 输入adb tcpip 5555在您的 PC 终端上。这将切换 adbd将设备上的守护进程设置为 tcp-ip 模式。
  5. 断开设备与 USB 的连接。现在将您的设备连接到与您的 PC 相同的无线网络,可以是相同的 wi-fi,也可以将您的手机用作 热点
  6. 确定您手机的 IP。您可以在手机的 Wi-Fi 设置中执行此操作。如果您将手机用作热点,那么通常您的 ip 应该是 192.168.43.1 (不是必需的,但大多数时候都是一样的)。
  7. 使用 adb connect <IP> 通过 tcp 连接到 ADB

这应该有望通过 tcp-ip 将您的设备连接到您的电脑。

关于android - 没有一致的方式通过 TCP 连接 ADB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49329919/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com