如何通过AKI三方库实现ArkTS与C/C++之间的跨语言调用
如何通过AKI三方库实现ArkTS与C/C++之间的跨语言调用
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
ArkTS与Native(C/C++/Rust)通过什么方式实现调用交互
2073浏览 • 1回复 待解决
C/C++的三方开源库如何迁移到系统下运行
1806浏览 • 1回复 待解决
如何实现ArkTS与C/C++的HashMap转换?
990浏览 • 0回复 待解决
如何实现ArkTS与C/C++的数组转换
538浏览 • 1回复 待解决
如何实现ArkTS与C/C++的对象传递
480浏览 • 1回复 待解决
ArkTS与C++互相直接调用
1863浏览 • 1回复 待解决
C++三方库怎样移植到HarmonyOS平台上?
80浏览 • 1回复 待解决
HarmonyOS ArkTS与C/C++的交互
512浏览 • 1回复 待解决
HarmonyOS C++库使用aki库,编译报错
225浏览 • 1回复 待解决
ArkTS和C++之间的交互
1208浏览 • 1回复 待解决
HarmonyOS C/C++库开发 C侧和TS之间的数据交互
467浏览 • 1回复 待解决
ArkTS中如何集成C语言写的.c、.h文件,如何调用.so与.a问题里的方法
2194浏览 • 1回复 待解决
c/c++层主动调用ArkTS存在问题
272浏览 • 1回复 待解决
HarmonyOS 如何调用标准C++库
338浏览 • 1回复 待解决
C++调用ArkTS 定义的方法
1759浏览 • 1回复 待解决
C/C++实现的开源mqtt库如何移植到native c++工程中?
3150浏览 • 1回复 待解决
三方库c/cpp库在HarmonyOS上如何使用cmake编译
404浏览 • 1回复 待解决
通过Native 调用c++层实现文本绘制
885浏览 • 1回复 待解决
N-API接口实现ArkTS/TS/JS和C/C++之间的交互
1167浏览 • 1回复 待解决
HarmonyOS 怎么调用C语言的.a静态库
281浏览 • 1回复 待解决
HarmonyOS是否支持自定义语言三方库的的调用?
283浏览 • 1回复 待解决
如何在C/C++ 创建ArkTS的对象
2088浏览 • 1回复 待解决
ArkTS/js怎样与C++进行交互?
98浏览 • 1回复 待解决
aki是否支持C++虚函数和callback?
779浏览 • 1回复 待解决
ArkTS调用C++类中的成员函数
1190浏览 • 1回复 待解决
ArkTS与C/C++之间交互,涉及到跨语言调用中数据转换,以及跨线程交互等内容。沿用Node-API标准实现,支持的Node-API接口可参见Node-API支持的数据类型和接口。
当前可以通过AKI三方库实现跨语言调用。AKI针对OpenHarmony上提供ArkTS与C/C++跨语言互调的场景提供解决方案,提供了极简语法糖使用方式,一行代码完成ArkTS与C/C++的无障碍跨语言互调,所见即所得。同时开发者无需关心Node-API的线程安全问题、Native对象GC问题,为开发者屏蔽Node-API内部复杂逻辑。
1. ohpm HAR包依赖:
指定路径下(如:项目根路径/entry),输入如下命令安装ohpm har包依赖。
CMakeLists.txt添加依赖(假定编译动态库名为:libhello.so):
在右上角同步工程:
2. 在napi_init.cpp文件中用户自定义业务,并将业务的接口导出给ArkTS。
说明
注册的AKI插件名需要与模块级的oh-package.json5文件dependencies标签的“lib<AKI插件名>”(例如libentry.so)字段名称保持一致。
a. 在“src/main/cpp/types/libentry/index.d.ts”中导出.so文件的接口声明。
b. 在ArkTS文件中调用.so文件中的代码接口。
参考链接
AKI项目介绍