如何导入其他module的so库?

0 评论 11 浏览 0 收藏 2 分钟

本问答帖原创发布在华为开发者联盟社区 ,欢迎开发者前往论坛提问交流。

 

详细描述:

项目里有多个模块,在其中一个公共模块,创建了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封装后的能力也可以通过模块依赖的方式被其他模块使用。

操作步骤、参考代码和相关讨论,请点击原帖查看:

https://developer.huawei.com/consumer/cn/forum/topic/0203162064009643100?fid=0109140870620153026&pid=0302162158973362670

本文由 @华为开发者联盟 授权发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!