安装aki :打开DevEco Studio,命令行工具进入entry目录,执行ohpm install @ohos/aki,确保AKI依赖集成到项目中
CMake配置 :在CMakeLists.txt中添加aki路径和链接库:
bash
set(AKI_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../oh_modules/@ohos/aki)
set(CMAKE_MODULE_PATH ${AKI_ROOT_PATH})
find_package(Aki REQUIRED)
target_link_libraries(entry PUBLIC Aki::libjsbind)
模块声明: 在module.json5中声明Native模块,确保.so文件名与oh-package.json5中的依赖项匹配(如libentry.so)
JS中绑定函数:
javascript
import entry from "libentry.so";
export class NapiHelper {
//项目启动时,JS侧调用该方法实现注册绑定
static registerFunctions() {
entry.JSBind.bindFunction("NapiHelper.cppCallJs", NapiHelper.cppCallJs);
}
static cppCallJs() : void {
console.info('-----c++------call');
}
};
C++中调用
cpp
#include "aki/jsbind.h"
void testFunc()
{
try {
if (auto jsfunc= aki::JSBind::GetJSFunction("NapiHelper.cppCallJs")) {
jsfunc->Invoke<void>();
}
}
catch (std::exception& e) {
}
}