【问题标题】:Debugging physical USB Device in Android Emulator在 Android Emulator 中调试物理 USB 设备
【发布时间】:2018-04-19 00:51:28
【问题描述】:

注意:我发现的最接近的其他问题是here。我问类似问题的原因是因为这个问题被问到已经过去了六年,而 Android 在那段时间里已经进步了很多。

我正在编写一个与 USB 设备交互的 Android 应用程序,我需要在两者交互时查看调试器信息。我可以通过 USB 将我的物理 Android 手机连接到我的开发机器以在 logcat 中查看调试信息,或者我可以将手机连接到 USB 设备,但显然不能同时进行。

我对其他解决方案持开放态度,但目前有没有办法让 Android 虚拟设备识别物理 USB 设备?

使用 Android Studio 2.3.3 在 64 位 Windows 10 上进行开发。根据公司政策,开发机器不具备 Wi-Fi 功能。如果有其他操作系统的答案,或者涉及无线连接,请无论如何分享它们,因为它们将来可能会帮助其他人。

【问题讨论】:

标签: android usb avd


【解决方案1】:

我可以通过 USB 将我的物理 Android 手机连接到我的开发机器以在 logcat 中查看调试信息,或者我可以将手机连接到 USB 设备,但显然不能同时进行。

典型的解决方案是use adb over WiFi,这样您的 Android 手机的 USB 端口是空闲的。

如果您的手机有 USB-C 端口,那么您可以使用 USB-C 集线器。这个我没试过。

您可以使用运行 Android Things 的 Raspberry Pi 作为您的 Android 测试环境,通过以太网设置 adb(与通过 WiFi 相同的方法)并为设备使用 Pi 的 USB 端口。 Android Things 与移动设备上的 Android 并不完全相同,但对于您的用例来说可能已经足够接近了。

您可以尝试其他提供以太网端口和 USB 端口的 Android 硬件(例如,Amazon Fire TV、DeX 基座中的三星 Galaxy S8)或提供单独的 USB 主机和 USB 附件端口。

但目前有没有办法让 Android 虚拟设备识别物理 USB 设备?

我不知道。

【讨论】:

  • 特定手机没有 USB-C 端口,所以我无法验证这一点,但我怀疑集线器是否能在这种配置下工作。这意味着手机必须同时充当主机(用于外围设备)和设备(用于调试器)。至于单独的主机和附件端口,USB 不区分,并且在初始握手发生时依靠协议来区分谁是谁。如果有人手头有硬件并想尝试,hub 方法随时与您分享结果
  • 因此两者都使用 USB 可能是不可能的。答案必须在于通过单独的方法连接调试器,例如以太网或 Wi-Fi,对于那些可以这样做的人。主要问题是“我可以将 USB 连接到虚拟设备”,如果答案确实是否定的,我将在一两天后关闭这个问题
猜你喜欢
  • 2017-11-25
  • 1970-01-01
  • 1970-01-01
  • 2020-07-04
  • 2021-07-10
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多