Flutter中使用FFI的方式链接C/C++的so库(harmonyos)

Flutter中使用FFI的方式链接C/C++库(harmonyos)

FFI plugin创建和so的配置

  1. 首先我们可以根据下面的链接生成FFI plugin插件:开发FFI plugin插件

  2. 然后在主项目中pubspec.yaml 添加插件的依赖路径:
    在这里插入图片描述

  3. 就可以将so库中的so文件和头文件放入在插件的目录src中
    在这里插入图片描述

  4. 需要在cmakelists.txt文件中链接so库:
    在这里插入图片描述
    注意:如果没有连接成功,会报这个没有链接so库
    在这里插入图片描述

FFI插件对so库的使用

首先我们需要再FFI plugin 插件的.c(自己方法的实现: 调用so库的方法).h (自己方法的申明)
在这里插入图片描述

利用一个插件,把我们编写的过度的C的代码, 重新生成头文件给Dart调用

重新生成头文件依赖llvm环境llvm环境下载

问题参考

参照基本类型映射关系

修改模版可参考资料:FFI-大神的笔记

每次我们在链接库中新增加函数, 同样需要在插件的ffigen.yaml中右键鼠标在文件的目录上使用命令flutter pub run ffigen --config ffigen.yaml 在来生成函数的桥接
在这里插入图片描述
在这个文件中生成桥接代码:
在这里插入图片描述
同时在ffigen.yaml目录中需要加上这个路径地址,这个地址是llvm安装路径(以你的实际路劲为准):
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值