如何通过AKI三方库实现ArkTS与C/C++之间的跨语言调用
如何通过AKI三方库实现ArkTS与C/C++之间的跨语言调用
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
#鸿蒙通关秘籍#如何在C/C++与ArkTS之间进行错误对象的跨语言传递?
1195浏览 • 1回复 待解决
C/C++的三方开源库如何迁移到系统下运行
3239浏览 • 1回复 待解决
ArkTS与Native(C/C++/Rust)通过什么方式实现调用交互
3635浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用HarmonyOS Node-API实现ArkTS与C/C++的跨语言交互?
1397浏览 • 1回复 待解决
HarmonyOS NAPI调用三方C库咨询
1084浏览 • 1回复 待解决
如何实现ArkTS与C/C++的数组转换
2261浏览 • 1回复 待解决
C++三方库怎样移植到HarmonyOS平台上?
1499浏览 • 1回复 待解决
如何实现ArkTS与C/C++的HashMap转换?
2692浏览 • 1回复 待解决
ArkTS与C++互相直接调用
5732浏览 • 1回复 待解决
如何实现ArkTS与C/C++的对象传递
2234浏览 • 1回复 待解决
HarmonyOS C++库使用aki库,编译报错
1463浏览 • 1回复 待解决
HarmonyOS C++ NDK开发需要集成第三方的静态库
1406浏览 • 1回复 待解决
HarmonyOS ArkTS与C/C++的交互
2276浏览 • 1回复 待解决
ArkTS和C++之间的交互
3435浏览 • 1回复 待解决
HarmonyOS ArkTS如何调C++的api,或C++如何调用ArkTS的api
1449浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何使用AKI实现C++跨线程调用JS函数,并进行加10操作?
907浏览 • 0回复 待解决
HarmonyOS C/C++库开发 C侧和TS之间的数据交互
2338浏览 • 1回复 待解决
HarmonyOS 如何调用标准C++库
1735浏览 • 1回复 待解决
c/c++层主动调用ArkTS存在问题
1985浏览 • 1回复 待解决
C/C++实现的开源mqtt库如何移植到native c++工程中?
4796浏览 • 1回复 待解决
三方库c/cpp库在HarmonyOS上如何使用cmake编译
2306浏览 • 1回复 待解决
C++调用ArkTS 定义的方法
4051浏览 • 1回复 待解决
通过Native 调用c++层实现文本绘制
2349浏览 • 1回复 待解决
HarmonyOS 调用顺序app ArkTS -> app C++ -> lib C++ -> lib ArkTS -> lib C++,在lib C++ -> lib ArkTS -> lib C+.....+这个流程中不会触发lib的Init方法导致ArkTS最终无法调用到lib C++
1360浏览 • 1回复 待解决
ArkTS中如何集成C语言写的.c、.h文件,如何调用.so与.a问题里的方法
3511浏览 • 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项目介绍