android - 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。
有人对此有任何想法吗?
解决方案
您是否尝试过以 root 身份执行您的应用程序?在 Linux 中,当您将设备连接到系统时,它会创建一个文件(在 /dev 位置)。libusb 需要访问这个文件,这通常需要 root 权限。
推荐阅读
- pandas - 如何获取每个唯一日期的记录数?
- javascript - 将索引与字符串的差异匹配
- python - 自版本 2.0.0 以来散景图已损坏
- html - 只有 CSS 的响应式步进器
- java - 我得到 org.json.JSONException: No value for an item ,它存在于我的 json 数组中
- r - 如何将数据集转换为特定类型的矩阵?(RStudio)
- scala - 在scala中使用_._2时如何在过滤谓词中使用OR运算符
- vba - 导出到 CSV - 标题为 TEXT 而不是 GENERAL
- android - java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int android.view.View.getImportantForAccessibility()”)
- colorbar - 如何将水平颜色条的标签放在matplotlib的颜色条下方?