HarmonyOS鸿蒙Next中调用OH_UsbSerial_Init报API not be supported
HarmonyOS鸿蒙Next中调用OH_UsbSerial_Init报API not be supported
该API文档:
CMakeList.text:
权限:
各位大佬,能帮忙看一下这个要怎么处理,有类似问题的解决方案吗?
更多关于HarmonyOS鸿蒙Next中调用OH_UsbSerial_Init报API not be supported的实战教程也可以访问 https://www.itying.com/category-93-b0.html
API 18版本的IDE不会报错,使用API 18 release版本的IDE测试下呢?
更多关于HarmonyOS鸿蒙Next中调用OH_UsbSerial_Init报API not be supported的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
我去试试。,
不报错,但是运行后:
import nativeFun from 'libentry.so';
nativeFun 是 undefined,去掉CMakeList.txt中:target_link_libraries(entry PUBLIC libace_napi.z.so libusb_serial_ndk.z.so),这一行配置的libusb_serial_ndk.z.so后,就正常。
但是libusb_serial_ndk.z.so是照:
[这个示例文档写入的](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/usb-serial-ddk-guidelines#%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86)
不知道是不是中间还遗漏了哪些内容,大佬可有遇到过?
当前项目使用的HarmonyOS SDK版本可能不支持OH_UsbSerial_Init接口。
此接口需要特定的SDK版本支持 18+
检查一下你的项目是否达到指定版本号
大佬,我去看了当前SDK版本: HarmonyOS 5.1.1 Release SDK,原样包含OpenHarmony SDK Ohos_sdk_public 5.1.1.202 (API Version 19 Release) OpenHarmony SDK 是启用的 API Version 18(当前编译器能下载的最新版本)
是否还有其他因素会影响这个OH_UsbSerial_Init接口的使用?
项目目录是libentry吗?大佬有参考的文档吗?这块的开发我是小白,还望多指导。
那 #include
路径要指定对。
例:#include "../cpp/types/libentry/usb_serial_api.h"
要确认下你的项目结构是否和上面的一样。
找HarmonyOS工作还需要会Flutter技术的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
运行后出现一个问题:
import nativeFun from 'libentry.so';
这个 nativeFun 变成 undefined 了,如果不调用usb_serial_api.h的方法,去掉CMakeList.txt添加的libusb_serial_ndk.z.so后,就又正常。
楼主这个开发实在什么设备上开发的:我看支持的设备里面没有手机
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
华为平板。
楼主的编译器尝试用最新的试试,旧版的编译器有些不支持
试试API 18版本的IDE呢?
换了API 18版本的IDE,莫有报API not be supported了
有另外一个问题,大佬看看能不能帮忙参详一下:
import nativeFun from 'libentry.so';
现在构建完成后,运行到模拟器上调用 nativeFun 发现是 undefined, 还原去掉CMakeList.txt添加的libusb_serial_ndk.z.so后,再运行就正常,nativeFun 能够调用在native C++写的方法。
这块内容是照: 华为开发者文档 这个示例文档写入的,不知道是不是中间还遗漏了哪些内容,大佬可有遇到过?
libusb_serial_ndk.z.so是给PC开发用户态驱动的,手机形态暂不支持使用
在HarmonyOS Next中调用OH_UsbSerial_Init报"API not be supported"错误,表明该API在当前版本或设备上不可用。可能原因包括:
- 该API尚未在Next版本中实现;
- 设备不支持USB串口功能;
- 使用的SDK版本不匹配。
需检查官方文档确认API兼容性,并验证设备是否具备USB Host功能。替代方案可考虑使用@ohos.usbV2相关接口。
从您提供的截图和描述来看,在HarmonyOS Next中调用OH_UsbSerial_Init接口时遇到了"API not be supported"错误。这个问题可能有以下几个原因:
-
该API在HarmonyOS Next版本中可能已被标记为废弃或移除。从截图中的文档来看,这个接口属于@syscap SystemCapability.Communication.Usb,需要确认该能力在当前版本是否仍然支持。
-
CMakeLists.txt中虽然链接了相关库,但可能版本不匹配。建议检查SDK版本是否与开发环境匹配。
-
权限配置看起来是正确的,包含ohos.permission.USB和ohos.permission.MANAGE_USB_CONFIG。
建议您:
- 查看最新的HarmonyOS Next API文档,确认该接口是否仍然可用
- 检查SDK版本是否与开发环境匹配
- 尝试使用替代API或新版本提供的USB接口
如果问题仍然存在,建议提供更详细的开发环境信息(如SDK版本号)以便进一步分析。