flutter_rust_bridge如何集成使用
我想在Flutter项目中集成flutter_rust_bridge,但不太清楚具体步骤。请问应该如何正确配置和集成这个库?需要安装哪些依赖,以及如何建立Flutter和Rust之间的通信?能否提供一个简单的示例说明基本用法?
2 回复
Flutter Rust Bridge 集成步骤:
- 安装依赖:
cargo install flutter_rust_bridge_codegen
flutter pub add flutter_rust_bridge ffi
- 创建 Rust 库:
- 在项目根目录创建
rust/文件夹 - 配置
Cargo.toml为cdylib类型
- 编写 Rust 代码:
#[frb]
pub fn add(a: i32, b: i32) -> i32 {
a + b
}
- 生成绑定代码:
flutter_rust_bridge_codegen \
--rust-input rust/src/api.rs \
--dart-output lib/bridge_generated.dart
- Flutter 调用:
import 'bridge_generated.dart';
final rust = RustLibImpl();
int result = await rust.add(a: 1, b: 2);
- 平台配置:
- Android:配置
build.gradle - iOS:配置
Podfile
注意:需要安装 Rust 工具链,建议使用 ffigen 处理复杂类型。
更多关于flutter_rust_bridge如何集成使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
Flutter Rust Bridge 是一个在 Flutter 应用中集成 Rust 代码的工具,通过 FFI(外部函数接口)实现高性能计算或系统级功能。以下是集成步骤:
-
环境准备
- 安装 Flutter SDK 和 Rust(使用
rustup)。 - 添加
flutter_rust_bridge依赖到pubspec.yaml:dependencies: flutter_rust_bridge: ^1.0.0 - 安装
cargo工具:cargo install flutter_rust_bridge_codegen。
- 安装 Flutter SDK 和 Rust(使用
-
项目结构
在 Flutter 项目根目录创建rust文件夹,包含:Cargo.toml(配置 Rust 库为cdylib)。src/lib.rs(编写 Rust 函数)。
-
编写 Rust 代码
在lib.rs中定义函数,例如:use flutter_rust_bridge::frb; #[frb] // 宏标记导出函数 pub fn add(a: i32, b: i32) -> i32 { a + b } -
生成桥接代码
运行命令生成 Dart 和 C 胶水代码:flutter_rust_bridge_codegen --rust-input rust/src/api.rs --dart-output lib/bridge_generated.dart -
Flutter 调用
在 Dart 中导入生成的文件并调用函数:import 'bridge_generated.dart'; final rustApi = RustLibImpl(); int result = await rustApi.add(a: 3, b: 5); print(result); // 输出 8 -
平台配置
- Android:在
android/app/build.gradle中添加jniLibs路径。 - iOS:在 Xcode 中链接
.a库文件。
- Android:在
注意事项:
- 确保 Rust 函数标记
#[frb]。 - 跨平台编译需配置
--target(如aarch64-apple-ios)。 - 复杂数据类型需通过
ffigen处理。
通过以上步骤,即可在 Flutter 中高效调用 Rust 代码,适用于加密、图像处理等场景。

