HarmonyOS ArkTS如何调用.so包

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

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

HarmonyOS
2024-12-25 11:43:00
903浏览
收藏 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%')
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
// 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;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
分享
微博
QQ
微信
回复
2024-12-25 13:52:42


相关问题
HarmonyOS ArkTS调用so
1696浏览 • 1回复 待解决
ArkTS项目如何调用已有SO库?
1796浏览 • 1回复 待解决
HarmonyOS so读取问题
682浏览 • 1回复 待解决
HarmonyOS 怎么优化so大小
770浏览 • 1回复 待解决
HarmonyOS har引用so问题
1329浏览 • 1回复 待解决
如何ArkTS中动态加载so
1564浏览 • 1回复 待解决
HarmonyOS ohosTest调用so库失败
858浏览 • 1回复 待解决
ArkTS和Native如何动态加载、卸载so
2929浏览 • 1回复 待解决
HarmonyOS 怎么调用现有的so
805浏览 • 1回复 待解决
so放在libs文件下后需要如何调用
2405浏览 • 1回复 待解决
ArkTS 和.so交互的问题
1139浏览 • 1回复 待解决
如何so文件导入,并完成调用
3481浏览 • 1回复 待解决
har集成怎么配置so的架构
1230浏览 • 1回复 待解决
如何ArkTS中使用闭
1541浏览 • 1回复 待解决
HarmonyOS TS文件如何调用ArkTS的代码?
1040浏览 • 1回复 待解决
HarmonyOS ArkTS如何引入和调用JS库?
1534浏览 • 1回复 待解决