/mikack-ffi

C ABI of mikack

Primary LanguageRust

mikack-ffi

mikack 库的通用外部接口。

基本介绍

本项目为 mikack 库进行 API 包装和 C ABI 导出,以支持多种编程语言/操作系统。如果您需要将 mikack 用于自己的技术中,本库应该是你需要的。

对本库的绑定

编译项目

如果您不需要为 Android 等平台构建库文件,可以略过整个编译章节,直接执行 make 即可达到目的。如果您需要为其它平台例如 Android/IOS 提供支持请继续往下看。

前提

构建本项目需要以下前提:

  • Rust Stable(必须)
  • Android NDK(可选,将 Android 作为目标时需要)

Android 平台

创建配置文件

添加目标(Rust):

rustup target add x86_64-linux-android aarch64-linux-android

在项目根创建 .ndk 文件,写入以下内容:

BIN_PATH=/software/android-sdk/ndk/21.0.6113669/toolchains/llvm/prebuilt/linux-x86_64/bin

以上只是一个例子,BIN_PATH 变量的值请自行替换为自己的 NDK 工具链路径,要直达 bin 目录。

生成 Cargo 配置

确认创建以上配置以后,将基于存在的配置生成 Rust 工具链需要的更复杂的配置。

终端执行 make config 并确认是否生成 .cargo/config 文件,最好自行排查一下其中的路径是否有误。

构建依赖

执行 make android 命令,完成后将生成 dist/android 目录。直接复制 android 目录到 Flutter 项目的根目录覆盖即可。

文档

文档还没开始写呢……