loadNativeModule (同步动态加载系统库接口)用于同步动态加载Native模块,目的是按需加载所需要的模块。
以加载libentry.so为例,需要完成以下配置。
在模块级oh-package.json5文件中配置dependencies字段。
"dependencies": {
"libentry.so": "file:./src/main/cpp/types/libentry"
}, 在模块级build-profile.json5文件中配置runtimeOnly.packages字段。
"buildOption": {
"arkOptions": {
"runtimeOnly": {
"packages": [
"libentry.so"
]
}
},
// ...
}, 示例1:HAP加载系统库模块
// HAP加载系统库模块
let hilog: ESObject = loadNativeModule('@ohos.hilog');
hilog.info(0, 'testTag', 'loadNativeModule ohos.hilog success'); 示例2:HAP加载Native库
libentry.so的index.d.ts文件如下:
export const add: (a: number, b: number) => number;
完成使用注意事项中的依赖配置后,使用loadNativeModule加载libentry.so并调用add函数。
//HAP加载Native库
let module: ESObject = loadNativeModule('libentry.so');
let sum: number = module.add(1, 2);