Android开启WiFi调试后找不到附属设备

标签 android debugging adk accessory

我正在使用 Galaxy Nexus 手机和官方 Arduino ADK 开发 Android 配件木板。我正在使用所有可用的标准 Arduino 库 here .我希望能够在运行时调试我的 Android 代码,所以我按照 Google 在其“Debugging Considerations”文档中的说明进行操作,以便通过 WiFi 进行远程调试。

当我通过 USB 连接到手机时,我能够很好地进行调试(当然它不是在与 Arduino 板通信)。当我通过 WiFi 连接到手机时,我可以很好地进行调试。但是,当我将电路板插入手机时,它不再自动启动我的应用程序(已在 ADK 设备中注册)。因此,我改为手动启动我的应用程序,但它找不到 Arduino 配件。如果我切换回 USB 调试并将 ADK 板重新连接到手机,它会像往常一样自动启动并且一切正常,但随后我又回到无法调试的状态。

在所有这些过程中没有对代码进行任何更改。我所做的只是改变 adb 工具到达手机的方式。猜猜为什么手机和我的应用程序无法再看到 ADK 板?

简而言之:

  1. 如果手机设置为通过 USB 进行调试,它可以毫无问题地与 Arduino ADK 通信。
  2. 如果我调用“adb tcpip 5555 adb connect :5555”,我可以毫无问题地远程调试手机。
  3. 如果我现在用USB线将ADK板连接到手机上,手机就找不到ADK板,但我仍然可以通过WiFi进行远程调试。这就是我如何知道找不到配件。

编辑: 手机运行的是 Android 4.1.1,Arduino 是 1.0.1。

最佳答案

刚回到 USB Accessory 工作时遇到了这个问题。是的,有一个问题,我不知道如何解决这个问题,因为更高版本的 Android 根本不允许您同时通过 wifi 和 USB 附件运行 adb。我的解决方案(您可能已经自己找到了)是对我的手机(幸运的是 Nexus S)进行 root,并将其上的 Android 降级到 2.3.6

这不是一个很好的解决方案,但要调试 USB 附件,我必须启动到 2.3.6。希望将来这可能再次起作用。

关于Android开启WiFi调试后找不到附属设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12013562/

相关文章:

java - 如果文件在 Assets 目录下,如何将文件名作为字符串获取?

c - 如何让GDB识别bi-endian代码?

c++ - 最喜欢的Valgrind选项

android - 如何创建一个 Android 应用程序来通过 Wi-Fi 控制 Arduino?

java - onResponse boolean 实例变量未设置?

android - 网络调用在 android 中抛出 IO 异常和连接被拒绝在 android 设备中不工作

java - 如何根据 boolean 变量决定抽屉导航 fragment 的 View ?

ios - iOS设备上的Phonegap调试需要拔出/插入才能工作

带有 PC 作为 USB 主机的 Android ADK,带有 libusb,批量传输错误

java - Android Java 应用程序 - java.net.SocketException : Permission denied