首页 > 解决方案 > libusb_open_device_with_vid_pid 函数返回 0 即使我将 USB 设备连接到 android 手机

问题描述

我是 android 平台和 libusb 的新手。我开发了一个在 NDK 中使用 libusb 的 android 应用程序。当我将 Pendrive 连接到我的 android 设备时libusb_open_device_with_vid_pid function returns 0(No device found)。我完全允许 ​​USB。但是,我仍然没有得到 USB 设备的 PID 和 VID。

我在执行 libusb_open_device_with_vid_pid 函数之前执行 libusb_init(NULL) 。我得到 0 作为 libusb_init 的返回值。所以libusb初始化没有问题。

我有另一个使用 android 主机 API 的应用程序。我可以查看 USB 设备的 PID 和 VID。但是我在使用 libusb 时无法查看它。

我正在使用三星 S20G android 设备,libusb 版本 - 1.0.23,Android studio - 4.0。

有人对此有任何想法吗?

标签: androidusblibusb

解决方案


您是否尝试过以 root 身份执行您的应用程序?在 Linux 中,当您将设备连接到系统时,它会创建一个文件(在 /dev 位置)。libusb 需要访问这个文件,这通常需要 root 权限。


推荐阅读