HarmonyOS鸿蒙Next SDK USB和串口开发时,调用API:usbCore.connectDevice(device)函数发生异常!

HarmonyOS鸿蒙Next SDK USB和串口开发时,调用API:usbCore.connectDevice(device)函数发生异常! 一:设备调试环境:

  1. 设备名称:Mate 30 Pro 型号 LIO-AL00 HarmonyOS 版本 2.0.0 Developer Beta3
  2. 设备名称:Mate 30 5G 型号 TAS-AN00 HarmonyOS 版本 2.0.0 Developer Beta3
  3. 设备名称:P40 30 Pro 型号 ES-AN00 HarmonyOS 版本 2.0.0 Developer Beta3

二,错误截图

第一排截图不全:文字补充
java.lang.UnsatisfiedLinkError: No implementation found for boolean ohos.usb.USBDevicePipeAdapter.localOpenByInt(java.lang.String, int) (tried Java_ohos_usb_USBDevicePipeAdapter_localOpenByInt and Java_ohos_usb_USBDevicePipeAdapter_localOpenByInt__Ljava_lang_String_2I)

三:调试过程

  1. 注册事件监听
MatchingSkills matchingSkills = new MatchingSkills();
matchingSkills.addEvent(CommonEventSupport.COMMON_EVENT_USB_ACCESSORY_ATTACHED);
matchingSkills.addEvent(CommonEventSupport.COMMON_EVENT_USB_ACCESSORY_DETACHED);
matchingSkills.addEvent(CommonEventSupport.COMMON_EVENT_USB_DEVICE_ATTACHED);
matchingSkills.addEvent(CommonEventSupport.COMMON_EVENT_USB_DEVICE_DETACHED);
matchingSkills.addEvent(ACTION_USB_PERMISSION);

省略部分代码…

  1. 收到USB设备插拔,查找设备
public void onReceiveEvent(CommonEventData commonEventData) {
    Intent intent = commonEventData.getIntent();
    String action = intent.getAction();
    if (action.equals(CommonEventSupport.COMMON_EVENT_USB_DEVICE_ATTACHED)) {
        findSerialPortDevice();
    } else if (action.equals(CommonEventSupport.COMMON_EVENT_USB_DEVICE_DETACHED)) {
    } else if (action.equals(ACTION_USB_PERMISSION)) {
        boolean hasRight = usbCore.hasRight(device); // 打印的值 true 
        USBDevicePipe connection = usbCore.connectDevice(device);
    }
}
  1. 获取到设备 申请权限
boolean hasRight = usbCore.hasRight(device);

if (!hasRight) { 
    usbCore.requestRight(device, ACTION_USB_PERMISSION);
}
  1. 收到权限通知,链接设备;出现异常
boolean hasRight = usbCore.hasRight(device); //  打印的值 true
USBDevicePipe connection = usbCore.connectDevice(device);

更多关于HarmonyOS鸿蒙Next SDK USB和串口开发时,调用API:usbCore.connectDevice(device)函数发生异常!的实战教程也可以访问 https://www.itying.com/category-93-b0.html

14 回复

请问楼主问题解决了吗?我也在做一个华为手机串口通信的app,发现网上根本找不到相关信息,无从下手呀。难道又要靠android解决吗?

更多关于HarmonyOS鸿蒙Next SDK USB和串口开发时,调用API:usbCore.connectDevice(device)函数发生异常!的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


目前是不支持。

现在支持了吗? api8 支持了吗?ets 现在支持USB外设设备开发吗?

同问,请问你功能实现了吗?

同问串口和USB接口开发

安装ch430的APK 根本就打不开设备。无法实现USBOTG串口通信。买了3个华为平板现在当摆设了。

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

同问串口和USB接口开发

同问 串口开发者,

找HarmonyOS工作还需要会Flutter技术的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

实现了吗,

楼主你好,此接口暂时还不支持,在未来版本中会开放,请关注官方消息

开发者您好,这个问题已经反馈给研发,请您耐心等待一下。

开发者你好,收到你的反馈,我们会尽快转发相关技术验证,请耐心等待。

在HarmonyOS鸿蒙Next SDK中,调用usbCore.connectDevice(device)函数时发生异常,可能原因包括:

  1. 设备未正确初始化或未授权;
  2. USB权限未在config.json中正确配置;
  3. 设备描述符不匹配或设备未连接。

建议检查设备状态、权限配置,并确保设备与SDK兼容。调试时可使用日志工具捕获详细错误信息,进一步定位问题。

回到顶部