HarmonyOS ArkTS如何调用.so包

虽然有相关的说明,但是具体是不够清楚,麻烦提供一下具体的demo。包括.so的存放位置.是否还有相关的配置

已经尝试了将 .so 存放在根目录下和需要的调用的代码同目录下,使用 import test from ‘libEncryptoBle.so’ 提示找不到, Cannot find module ‘libEncryptoBle.so’ or its corresponding type declarations.

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

可以参考如下demo:

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';
  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(async () => {
            //加载so
            let module = await import("libentry.so")
            //调用so中的方法
            console.log("testTag", module.default.add(1, 2))
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}
// path:从ArkTS侧传递so文件的沙箱路径(注意路径要从ArkTS侧传递、不然有可能找不到路径、具体代码后续会列出)
int getb(char *path, int a, int b) {
  void *handle = dlopen(path, RTLD_LAZY); // 打开一个动态链接库.路径为path
  if (!handle) {
    return 0;
  }
  FUNC_SUB sub_func = (FUNC_SUB)dlsym(handle, "sub"); // 获取函数名为sub的函数
  int res = sub_func(a, b);                           // 调用函数
  dlclose(handle);                                    // close动态链接库
  return res;
}
分享
微博
QQ
微信
回复
1天前
相关问题
ArkTS项目如何调用已有SO库?
920浏览 • 1回复 待解决
HarmonyOS har引用so问题
576浏览 • 1回复 待解决
如何ArkTS中动态加载so
611浏览 • 1回复 待解决
HarmonyOS ohosTest调用so库失败
74浏览 • 1回复 待解决
ArkTS和Native如何动态加载、卸载so
2043浏览 • 1回复 待解决
HarmonyOS 怎么调用现有的so
19浏览 • 1回复 待解决
so放在libs文件下后需要如何调用
1915浏览 • 1回复 待解决
如何so文件导入,并完成调用
2794浏览 • 1回复 待解决
ArkTS 和.so交互的问题
293浏览 • 1回复 待解决
har集成怎么配置so的架构
409浏览 • 1回复 待解决
如何ArkTS中使用闭
634浏览 • 1回复 待解决
HarmonyOS TS文件如何调用ArkTS的代码?
168浏览 • 1回复 待解决
HarmonyOS ArkTS如何引入和调用JS库?
239浏览 • 1回复 待解决
ArkTS侧与Native侧分别如何动态加载SO
2510浏览 • 1回复 待解决
ArkTS如何使用编译出来的Native so
476浏览 • 1回复 待解决
HarmonyOS ArkTS调用JS库
38浏览 • 1回复 待解决