如何通过 Wi-Fi 调试 Android 6.0? (netcfg 问题)

Posted

技术标签:

【中文标题】如何通过 Wi-Fi 调试 Android 6.0? (netcfg 问题)【英文标题】:How to debug Android 6.0 over Wi-Fi? (netcfg issue) 【发布时间】:2016-07-17 14:04:01 【问题描述】:

我目前在通过 Wi-Fi 调试 android 6.0 时遇到问题。我按照answer 的步骤操作,但是当我尝试命令 adb shell netcfg 时,我收到“/system/bin/sh: netcfg: not found”。此外,Developers Options 菜单中的图形选项 ADB over network 也消失了。

我也试过这个post 的 Android 问题,因为 netcfg 似乎已被弃用,我得到:WFSO 超时。

在我更新到 Android 6.0 之前它运行良好。

有人知道通过 Wi-Fi 进行调试的其他命令或方法吗?

提前致谢


解决方案

使用adb shell ifconfig <interface name> 作为Rilwan 的answer 来找出设备的IP 地址。然后使用adb connect <ipaddress>最终通过 Wi-Fi 进行调试。真正的问题只是缺少 netcfg 命令。

【问题讨论】:

【参考方案1】:

根据您的问题,如果您通过 wifi 尝试此方法 - adb shell netcfg I receive "/system/bin/sh: netcfg: not found",则通过 wifi 的 adb 工作正常。唯一的问题是 Android 6.0 中没有 netcfg 二进制文件。如果您有任何其他早期版本的android,您可以拉netcfg二进制并推送到6.0设备。

如果你只是想知道ipaddress可以使用adb shell ifconfig <interface name>

【讨论】:

很好的提示 Rilwan,谢谢。我刚刚使用adb shell ifconfig 获得了IP 地址,并使用wlan0 作为接口名称(如果没有使用接口作为参数,则显示所有接口的详细信息)。之后,我只是将我的设备与 USB 断开并使用命令adb connect <ipaddress> 作为最后一步,它可以工作。谢谢 您好,请问如何获取要传递的接口名称。 嗨@Dory,如果您只使用adb shell ifconfig 没有任何接口名称,它将显示所有接口,通常是您感兴趣的wlan0 什么是接口名称? interface name 是您的 wlan 接口的名称。例如在我的情况下是adb shell ifconfig wlan0【参考方案2】:

如果您正在寻找 IP 地址 - 您的系统和手机连接到同一个网络

只需进入设置->关于手机->状态

在这里你会找到IP

【讨论】:

【参考方案3】:

我在 android studio 中使用 ADBWIFI 插件 ADBWIFI .

我还没有在 Android 6.0 上测试过,但请尝试一下。

【讨论】:

您好 Murali,我也尝试过这个插件,但仍然无法正常工作。当我取下 USB 数据线时,我失去了 Wi-Fi 连接。正如您在issue 上看到的那样,它应该可以工作。但是,我无法保持连接。

以上是关于如何通过 Wi-Fi 调试 Android 6.0? (netcfg 问题)的主要内容,如果未能解决你的问题,请参考以下文章

如何调试/重置 Android 6.0 权限?

Android Things:Raspberry Pi 上的 ADB over USB

Mac通过wifi连接 Android设备

VC++6.0中如何用Debug进行程序调试?

AS WIFI 无线调试

通过 Wi-Fi 使用 TCP 将 Android 应用程序连接到 IoT 设备