如何导入其他module的so库?
来源: InfoQ 话题 - 大前端
本问答帖原创发布在华为开发者联盟社区 ,欢迎开发者前往论坛提问交流。
详细描述:
项目里有多个模块,在其中一个公共模块,创建了cpp目录,放入了c++代码,并配置好了index.d.ts、cmake、napi等信息,在本模块界面中通过import libxx from 'libxx.so'可以正常调用C++函数。但是在其他模块中,用这样的导入方式IDE会报错,应该如何正确导入?
解决方案:
跨模块使用so库可以用以下方法:
1. 纯CPP部分单独用ndk编译成.so或.a并放在HAR或HSP中。
2. 依赖上述的HAR或HSP后,使用已链接+头文件的方式,在链接的时候,直接写库文件的名字即可,这样纯cpp的so实现了多模块共享。需要通过napi使用的也只需要单独写napi代码即可,此时napi封装后的能力也可以通过模块依赖的方式被其他模块使用。
操作步骤、参考代码和相关讨论,请点击原帖查看: