✨ Features
- Idiomatic Rust - Ergonomic safe wrappers with
Resulterror handling and strict typing. - Dual Linking Modes - Choose between Static linking or runtime Dynamic loading with automatic SDK setup.
- Full Capabilities - Complete coverage of Tasker pipelines, Resources, Controllers, and custom extensions.
- Zero-Overhead FFI - Direct bindings via
bindgenensuring C++ level performance with Rust safety.
📦 Installation
1. Add Dependency
[]
= "1"
2. Download SDK
Download from MaaFramework Releases:
| Platform | Architecture | Download |
|---|---|---|
| Windows | x86_64 | MAA-win-x86_64-*.zip |
| Windows | aarch64 | MAA-win-aarch64-*.zip |
| Linux | x86_64 | MAA-linux-x86_64-*.zip |
| Linux | aarch64 | MAA-linux-aarch64-*.zip |
| macOS | x86_64 | MAA-macos-x86_64-*.zip |
| macOS | aarch64 | MAA-macos-aarch64-*.zip |
3. Extract to Project
my-project/
├── Cargo.toml
├── src/
│ └── main.rs
└── MAA-win-x86_64-v5.4.1/ # Extracted SDK
├── bin/
├── lib/
└── include/
Or set MAA_SDK_PATH environment variable.
4. Build & Run
DLLs are automatically copied to
target/debug/ortarget/release/.
🔗 Linking Modes
MaaFramework Rust Binding supports two linking modes: Static (default) and Dynamic.
Static Linking (Default)
- Initialization: Automatic. No extra code required.
- Behavior: The OS loader handles DLL loading at startup.
- Requirement:
MaaFramework.dll(or.so/.dylib) must be in the system search path (usually next to the executable). - Usage:
[] = "1"
Dynamic Linking
- Initialization: Manual. You must call
load_librarybefore using any API. - Behavior: Your code loads the DLL at runtime from a custom path.
- Requirement: A valid path to the DLL file.
- Usage:
And in your code:[] = { = "1", = ["dynamic"] }// Must be called before any other API load_library?;
🚀 Quick Start
use Toolkit;
use Controller;
use Resource;
use Tasker;
🔧 Features
| Feature | Description | Default |
|---|---|---|
toolkit |
Device discovery utilities | ✅ |
adb |
ADB controller support | ✅ |
win32 |
Win32 controller (Windows) | ✅ |
custom |
Custom recognizer/action | ✅ |
image |
image crate integration |
❌ |
📚 Documentation
📄 License
LGPL-3.0 - see LICENSE