HarmonyOS 鸿蒙Next从API-10开始引入的UsbDdK接口规划

发布于 1周前 作者 vueper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next从API-10开始引入的UsbDdK接口规划

众所周知在4.0版本鸿蒙以前,C++层使用NAPI-CAPI实现USB通讯,是需要系统(依赖)订制能力的,

  • 要不搞系统服务;
  • 要不关掉SECLinux直接怼libusb;

鸿蒙4.0的API-10新引入了UsbDdk,通过UsbDdk申请 ohos.permission.ACCESS_DDK_USB 权限,貌似可以在不依赖订制系统的情况下C++实现USB通讯。然而实测效果是:

  • 在鸿蒙4.0下,Hap可以申请到 ohos.permission.ACCESS_DDK_USB 权限,正常安装,并且正常通讯;
  • 在鸿蒙4.1下,Hap申请 ohos.permission.ACCESS_DDK_USB 权限会失败,去掉权限申请,倒是可安装正常,并且正常通讯;

鸿蒙4.1下Hap安装失败:

cke_103298.png

看起来是4.0–>4.1 对USB设备的使用更加开放(权限申请都不需要了),权限管控放松,然而文档却是将ACCESS_DDK_USB提升到system_basic层。

这个 UsbDdK 既然是API10才新入引的,应该不至于废弃,我们也很想用上去,但这个接口的使用权限发展方向是放开还收紧呢?

cke_28101.png

12 回复
各位大佬,为啥api11我的调用OH_Usb_Init()直接提示不支持啊?cmake里面我已经添加了libusn_ndk.z.so的链接
批量传输的时候返回-7,传输超时,博主有遇到过这个问题吗?open鸿蒙4.0
请教一下,使用usbddk调用初始化函数是成功的,deviceid在上层获取了,有申请ohos.permission.ACCESS_DDK_USB,但是调用其他方法,获取描述等等全部都返回-1,有遇到过这种问题吗?
现在是个什么情况,libusb能不能用,usb ddk值不值得搞,以前的设备都是用的libusb

无解,必须要用usb ddk 才可以,不然别想了

您好,请教下, 我现在直接命令行运行可以使用libusb相关处理,主要是命令行运行都是系统权限, devecostudio里面怎么搞?直接编译的只有normal权限, 改了UnsgnedReleasedProfileTemplate.json这个文件也不行, 难道api 11 只能通过usb ddk了吗?

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

鸿蒙4.1 是不是不支持使用libusb 连接外接的usb设备呢,我最近也在搞这个东西,用的libusb的库运行到
find_usbfs_path 就不行了。

3.2、4.0 就需要关掉SECLinux 当Linux用才可以用libusb,所以说需要有系统订制能力。

如果系统是第三方提供的,哪些小舅子的公司也只是买买买的,咱能给个安装包项目就成,不能给就算球。C++实现的话就希望API-10的UsbDdk接口能用上,但如果华为真如4.1文档中看到的哪样,将这个UsbDdk权限弄到syetem_basic级,哪还是不要在UsbDddk上浪费时间为妙,要不系统订制,要不直接TS层实现。

看着他们 三方库里面有libusb以为能用,结果调整半天代码调整完才发现不支持,伤脑筋,如果要改成USBDDK又得忙活半天。

修改UnsgnedReleasedProfileTemplate.json文件,改变应用的权限等级也不行吗

HarmonyOS 鸿蒙Next从API-10开始引入的UsbDdK(USB Driver Develop Kit)接口,为开发者提供了在应用层开发USB设备驱动的能力。UsbDdK支持用户态的USB设备数据读写、控制传输、中断传输等多种通信方式,旨在简化USB设备驱动的开发过程。

UsbDdK接口的规划体现了鸿蒙系统对USB设备管理的进一步开放和优化。通过提供丰富的API接口,开发者可以更加灵活和高效地实现USB设备的接入与通信。这些接口包括DDK初始化、interface对象操作、request对象操作等多个类别,覆盖了USB设备驱动开发的各个方面。

然而,随着鸿蒙系统版本的更新,UsbDdK接口的具体实现和使用方式可能会有所变化。因此,建议开发者在开发过程中密切关注鸿蒙系统的更新日志和官方文档,以确保所开发的USB设备驱动能够兼容最新的鸿蒙系统版本。

如果在使用UsbDdK接口过程中遇到问题,建议首先参考官方文档和社区资源,尝试自行解决。如果问题依旧无法解决,可以联系鸿蒙官网客服进行咨询,官网地址是:https://www.itying.com/category-93-b0.html。客服将提供专业的技术支持和解决方案。

回到顶部