This repository serves as a template for Flutter projects calling into native Rust
libraries via flutter_rust_bridge
.
To begin, ensure that you have a working installation of the following items:
- Flutter SDK
- Rust language
- Appropriate Rust targets for cross-compiling to your device
- For Android targets:
- Install cargo-ndk
- Install Android NDK 22, then put its path in one of the
gradle.properties
, e.g.:
echo "ANDROID_NDK=.." >> ~/.gradle/gradle.properties
- Web dependencies for the Web
Then go ahead and run flutter run
! When you're ready, refer to our documentation
here
to learn how to write and use binding code.
Once you have edited api.rs
to incorporate your own Rust code, the bridge files bridge_definitions.dart
and bridge_generated.dart
are generated using the following command:
flutter_rust_bridge_codegen --rust-input native\src\api.rs --dart-output .\lib\bridge_generated.dart --dart-decl-output .\lib\bridge_definitions.dart
flutter_rust_bridge_codegen --rust-input native/src/api.rs --dart-output ./lib/bridge_generated.dart --dart-decl-output ./lib/bridge_definitions.dart
If you would like to generate boilerplate for using flutter_rust_bridge
in your existing projects,
check out the flutter_rust_bridge
brick
for more details.
Copyright 2022 Viet Dinh.
This template is licensed under either of
at your option.
The SPDX license identifier for this project is MIT OR Apache-2.0
.