HarmonyOS 如何通过dlopen的方式加载so

HarmonyOS
2024-12-19 17:16:59
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get
  1. C++中的dlopen、dlsym等标准库函数均支持;
  2. ts动态加载so参考(其中so为napi封装后的)
@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%')
  }
}

import相当于Java中的system.load() System.loadLibray(),在native层就是通过dlopen打开,然后dlsym去获取函数或者变量的符号,这个只会出现在交互场景,可以通过动态import的方式:https://gitee.com/yao_dashuai/arkcompiler_ets_runtime/wikis/OpenHarmony%E5%BA%94%E7%94%A8%E6%A8%A1%E5%9D%97%E5%8C%96%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97

分享
微博
QQ
微信
回复
2024-12-19 19:06:19
相关问题
HarmonyOS dlopen加载沙盒so文件失败
262浏览 • 1回复 待解决
HarmonyOS 目前ets加载so方式有哪几种
398浏览 • 1回复 待解决
dlopen打开.so文件并使用md5加密
1058浏览 • 1回复 待解决
HarmonyOS so正确引用方式
613浏览 • 1回复 待解决
如何在ArkTS中动态加载so
1115浏览 • 1回复 待解决
如何在Native层加载so
2093浏览 • 1回复 待解决
通过configuration配置调试so
939浏览 • 1回复 待解决
ArkTS和Native如何动态加载、卸载so
2415浏览 • 1回复 待解决
如何通过路由方式打开半屏
562浏览 • 1回复 待解决
如何显示通过网络加载图片?
2880浏览 • 1回复 待解决
路由跳转如何通过scheme方式分发
1058浏览 • 1回复 待解决