HarmonyOS鸿蒙Next中@ohos/mqtt能否增加支持riscv64架构的.so文件?
HarmonyOS鸿蒙Next中@ohos/mqtt能否增加支持riscv64架构的.so文件? 在开发 openHarmony 应用的时候,发现怎么调用这个库都不行,都是初始化失败。
结果查看源码的时候发现,库里面只提供了常规的3个架构的.so文件,并没有 riscv64 架构的.so文件。
所以,我觉得应该就是这个原因导致的调用失败。
能否增加对这个架构的支持?
如果库里没有 riscv64 对应的 .so,在 riscv64 设备上初始化失败是符合预期的。Native 库必须和运行设备 ABI 匹配,不能用 arm64-v8a 或 x86_64 的 .so 直接替代 riscv64。
解决方向有两个:一是让 @ohos/mqtt 的维护方补齐 riscv64 预编译产物;二是如果项目源码开放,使用 HarmonyOS/OpenHarmony 对应的 native 工具链自行交叉编译 riscv64 版本,并把 include、link 和 libs 目录按 ABI 配好。
应用侧最多只能做 ABI 检测和降级提示,无法在运行时绕过缺失 ABI 的 native 依赖。
更多关于HarmonyOS鸿蒙Next中@ohos/mqtt能否增加支持riscv64架构的.so文件?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
建议在 OpenHarmony官方论坛 或者 Laval社区 问OH相关问题。
@ohos/mqtt 是面向 HarmonyOS Next 的 MQTT 协议三方库,其当前发布的 official 版本确实仅包含 arm64-v8a、armeabi-v7a、x86_64 三种架构的 .so 文件,未提供 riscv64 版本,这是导致你在 riscv64 设备上初始化失败的直接原因。平台本身尚未完成对该架构 ABI 的原生支持与验证,因此该库暂不包含 riscv64 二进制。若需在 riscv64 上运行,可行的途径是从源码自行交叉编译生成 riscv64 的 .so 文件,或使用纯 ArkTS/ETS 实现的 MQTT 库来绕过 native 依赖。

