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

HarmonyOS
3天前
浏览
收藏 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
微信
回复
3天前
相关问题
dlopen打开.so文件并使用md5加密
773浏览 • 1回复 待解决
如何在Native层加载so
1167浏览 • 1回复 待解决
如何在ArkTS中动态加载so
538浏览 • 1回复 待解决
ArkTS和Native如何动态加载、卸载so
1986浏览 • 1回复 待解决
通过configuration配置调试so
746浏览 • 1回复 待解决
如何通过路由方式打开半屏
401浏览 • 1回复 待解决
关于自定义XComponent加载so问题
150浏览 • 1回复 待解决
如何显示通过网络加载图片?
2605浏览 • 1回复 待解决
路由跳转如何通过scheme方式分发
858浏览 • 1回复 待解决
native如何通过命令行编译成so
2534浏览 • 1回复 待解决
ArkTS侧与Native侧分别如何动态加载SO
2479浏览 • 1回复 待解决