【问题标题】:Logcat doesn't work when connected to a simulated usb accessory连接到模拟 USB 配件时,Logcat 不工作
【发布时间】:2016-02-11 03:44:59
【问题描述】:

我正在开发的应用程序连接到我在用于编程/调试的同一台电脑上模拟的 USB 附件。
问题是,每当平板电脑更改为附件模式时,我都无法通过 USB 连接到 Logcat。(adb 中的平板电脑名称更改为数字 ID)
我可以通过 WiFi 连接到它,但每当我重新连接平板电脑(例如重置 USB 附件模式)时,adb 连接都会重置回 USB。
我知道在配件模式下可以让 Logcat 在 USB 上运行。我只是不知道为什么这对我不起作用。

我已按照 adt-bundle 的安装步骤进行操作;尝试重新安装;尝试使用 Android Studio。

有什么想法吗?

【问题讨论】:

  • 您的设备是否已植根?如果是这样,您应该能够将 ADB 连接永久配置为 WiFi,而不是让它恢复为 USB。
  • 设备没有root。我想做到这一点,而不必植根平板电脑。我希望能够通过 USB 进行调试。
  • 我也在做这类项目。我没有专用的自定义附件来测试我的应用程序。您说您在 PC 中模拟 USB 配件。你能告诉我如何模拟电脑作为usb配件吗?这将非常有帮助。谢谢。
  • 嗨,普拉文。我们的配件是一个通过 USB 连接并在 beagleboard 中运行 linux 的机器人。我们可以使用适当的库在任何 Linux 中从机器人运行软件。我们只需要模拟机器人的硬件部分。

标签: android logcat android-logcat android-open-accessory


【解决方案1】:

我找到了解决问题的方法。 通过使用 sudo 重新启动 adb 服务器,我能够在设备连接到我的模拟 USB 附件时从设备获取 Logcat 消息。

sudo ./adb kill-server
sudo ./adb start-server
sudo ./adb devices

感谢 Leon 的回答 here。

如果您不想使用 sudo,我发现以下解决方案有效:

使用以下内容创建一个名为 /tmp/android.rules 的文件(十六进制供应商编号取自 vendor list page):

SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666"

运行以下命令:

sudo cp /tmp/android.rules /etc/udev/rules.d/51-android.rules
sudo chmod 644   /etc/udev/rules.d/51-android.rules
sudo chown root. /etc/udev/rules.d/51-android.rules
sudo service udev restart
sudo killall adb

断开设备和计算机之间的 USB 数据线。

重新连接手机。

运行 adb devices 以确认它现在有权访问手机。

取自here。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-21
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 2012-12-10
    相关资源
    最近更新 更多