请问如何引入一个已经存在的so文件,并通过ets语言访问?

我看现有NDK开发文档,如果要引入一个native语言写的so库,需要使用arkts的node-api编写native代码,那假如我现在已经有一个写好了的so库,怎么才能直接引入arkts中呢,有没有类似与ffi-napi这样的三方库可以用呢,有的话麻烦提供一下文档。

HarmonyOS
2024-11-18 09:13:59
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

​具体引用so库代码里面的方法如下:

使用当前工程编译的so库,可直接在ets文件中引用,最小demo可新建一个native C++模板的工程引用外部.so库分为两类。

一、so为HarmonyOS编译器编译,可在libs下创建一个架构文件夹,文件架构为:libs/架构名(arm64-v8a,armeabi-v7a,x86_64)/xxx.so然后在ets侧进行引用,引用方式为:import {方法名} from ‘xxxx.so’。

二、so为其他编译器编译,需要走适配流程,流程如下:

第一步,配置交叉编译环境,​https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob/master/lycium/Buildtools/README.md

第二步,移植三方库,​https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob/master/lycium/doc/ohos_use_sdk/OHOS_SDK-Usage.md

第三步,集成进项目,​https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob/master/lycium/doc/app_calls_third_lib.md

分享
微博
QQ
微信
回复
2024-11-18 17:44:02
相关问题
请问ets语言官网在哪里?
3577浏览 • 1回复 待解决
怎么返回到上一个ets 文件
325浏览 • 1回复 待解决
HarmonyOS 如何访问一个在线图片
330浏览 • 1回复 待解决
如何申明一个代理使用
441浏览 • 2回复 待解决
ETS语言 文件管理有了解吗?
2867浏览 • 1回复 待解决
如何调用测试一个wifi接口?
6663浏览 • 1回复 待解决
HarmonyOS 三方so如何访问rawfile文件
542浏览 • 1回复 待解决
HarmonyOS 三方so如何访问rawfile文件
428浏览 • 0回复 待解决
如何so文件导入,完成调用
2920浏览 • 1回复 待解决