HarmonyOS 鸿蒙Next USB API 不支持 - OH_Usb_Init() 返回-19
HarmonyOS 鸿蒙Next USB API 不支持 - OH_Usb_Init() 返回-19
一、测试环境:
- 使用真机-平板,无线方式调试USB
- DevEco版本:Build Version: 5.0.5.306, built on December 6, 2024
- SDK版本:HarmonyOS 5.0.1 Release SDK, inclusion of OpenHarmony SDK Ohos_sdk_public 5.0.1.112 (API Version 13 Release) as is.
二、测试步骤如下:
-
在Native侧引入usb相关文件(
#include <usb/usb_ddk_api.h>
等),并在cmakelist.txt中有增加链接库,如下:add_library(entry SHARED napi_init.cpp newUSB.cpp) target_link_libraries(entry PUBLIC libace_napi.z.so libusb_ndk.z.so libhilog_ndk.z.so).
-
在编辑环境下,调用 OH_Usb_Init()等USB函数均报错 - API not be supported. 查看头文件的路径如下图。
-
不管报错信息,直接编译,可生成HAP文件,但HAP文件包中未包含
libusb_ndk.z.so
、libhilog_ndk.z.so
库。 -
连真机调试时,hilog可正常打印,OH_Usb_Init()的返回值是 -19。
想问下,大家是否有遇到这样的情况,是API版本不对,还是哪里设置的问题?
后将usb_ddk_api.h
等头文件拷贝到项目中,libusb_ndk.z.so
库也拷贝到项目libs目录下。不会报API不支持,但返回值会变成很大的整数或负数(例如-1062975488,只要不重启真机,这个值不变)。
更多关于HarmonyOS 鸿蒙Next USB API 不支持 - OH_Usb_Init() 返回-19的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
-19表示没有权限访问,可以详细参考DDK文档,符合DDK使用场景,并配置相应权限来使用
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/_usb_ddk-V5
更多关于HarmonyOS 鸿蒙Next USB API 不支持 - OH_Usb_Init() 返回-19的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对帖子标题“HarmonyOS 鸿蒙Next USB API 不支持 - OH_Usb_Init() 返回-19”的问题,以下提供直接的专业回答:
在HarmonyOS中,若OH_Usb_Init()函数返回-19,这通常表示初始化USB功能时遇到了特定的错误代码。在HarmonyOS的API文档中,-19可能对应于一个特定的错误状态,如资源不足、权限问题或硬件不支持等。由于具体的错误代码含义可能随HarmonyOS版本和具体实现而异,建议首先查阅当前HarmonyOS版本的官方API文档,了解-19错误代码的具体含义。
此外,确认以下几点可能有助于解决问题:
- 确保应用已正确声明使用USB功能的权限。
- 检查设备是否支持所需的USB功能。
- 验证USB硬件连接是否正确无误。
- 如果是在模拟器上运行,确认模拟器是否支持模拟USB功能。
如果上述检查均无误,且错误依旧存在,可能涉及更底层的系统或硬件问题。此时,应详细记录错误场景和上下文信息,以便进一步分析。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html,