Update README.md
This commit is contained in:
parent
5a9338a187
commit
61929a5405
1 changed files with 24 additions and 10 deletions
34
README.md
34
README.md
|
|
@ -1,28 +1,42 @@
|
||||||
|
### Rust to Flutter Build Script
|
||||||
|
|
||||||
This script compiles a Rust library for both Android and iOS and copies the generated libraries to the appropriate Flutter project directories.
|
This script compiles a Rust library for both Android and iOS and copies the generated libraries to the appropriate Flutter project directories.
|
||||||
|
|
||||||
#### Features:
|
#### Features:
|
||||||
- Installs missing cross compilation targets
|
- Installs missing cross-compilation targets.
|
||||||
- Compiles Rust for Android.
|
- Compiles Rust for Android.
|
||||||
- Conditionally compiles Rust for iOS if running on macOS.
|
- Conditionally compiles Rust for iOS if running on macOS.
|
||||||
|
- Optionally includes `x86` and `x86_64` Android targets using the `-x` flag.
|
||||||
- Automatically cleans the build directory before compiling.
|
- Automatically cleans the build directory before compiling.
|
||||||
- Copies `.so` (Android) and `.a` (iOS) files to the Flutter project.
|
- Copies `.so` (Android) and `.dylib` (iOS) files to the Flutter project.
|
||||||
|
|
||||||
#### Usage:
|
#### Usage:
|
||||||
1. Ensure the following are installed:
|
1. Ensure the following are installed:
|
||||||
- `cargo-ndk`: `cargo install cargo-ndk`
|
- `cargo-ndk`: Install via `cargo install cargo-ndk`.
|
||||||
- Android NDK (set `ANDROID_NDK_HOME` or `ANDROID_SDK_ROOT`)
|
- Android NDK (set `ANDROID_NDK_HOME` or `ANDROID_SDK_ROOT`).
|
||||||
- Rust toolchains for iOS targets if compiling on macOS
|
- Rust toolchains for iOS targets if compiling on macOS.
|
||||||
|
|
||||||
2. Run the script:
|
2. Run the script:
|
||||||
```bash
|
```bash
|
||||||
./rust_to_flutter.sh <path_to_rust_project> <path_to_flutter_project>
|
./rust_to_flutter.sh [-x] <path_to_rust_project> <path_to_flutter_project>
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Example:
|
- The optional `-x` flag includes `x86` and `x86_64` targets for Android.
|
||||||
```bash
|
|
||||||
./rust_to_flutter.sh ./rust_project ./flutter_project
|
#### Examples:
|
||||||
```
|
- Standard build for Android and (on macOS) iOS:
|
||||||
|
```bash
|
||||||
|
./rust_to_flutter.sh ./rust_project ./flutter_project
|
||||||
|
```
|
||||||
|
- Include `x86` and `x86_64` targets for Android:
|
||||||
|
```bash
|
||||||
|
./rust_to_flutter.sh -x ./rust_project ./flutter_project
|
||||||
|
```
|
||||||
|
|
||||||
#### Notes:
|
#### Notes:
|
||||||
- Android libraries are copied to `android/app/src/main/jniLibs/<arch>`.
|
- Android libraries are copied to `android/app/src/main/jniLibs/<arch>`.
|
||||||
- iOS libraries are copied to the `ios` directory.
|
- iOS libraries are copied to the `ios` directory.
|
||||||
|
|
||||||
|
#### Additional Information:
|
||||||
|
- iOS compilation is skipped automatically if the script is not running on macOS.
|
||||||
|
- The script checks for missing Rust cross-compilation targets and installs them as needed.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue