Boilerplate to create react native modules relying on rust
In the Example is a react native project that is configured to automatically consume a react-native-rust module that provides a helloWorld method which will call rust a rust library in both android and ios.
The rust library can be found in the rust/signer/src/lib.rs file
Node - tested on 16 Android Toolchain (Android Studio) iOs Toolchain (xCode) Rust Toolchain - Cargo, rustup... (https://rustup.rs/ to get started)
yarnornpm icd example
To Perform changes and run those in ios follow these steps
yarnornpm icd /iospod install
- modify lib.rs (if you add extra methods you also have to edit the signer.h file)
cd rust/signerandmake ios- this will create a new file libsigner.a in the rust/signer directory- replace the old libsigner.a in ios/libs with the generated file
- Run the app (in xcode or with
npm run ios)
To Perform changes and run those in ios follow these steps
- modify lib.rs (if you add extra methods you also have to edit the signer.h file)
cd rust/signerandmake android- this will create a new file libsigner.a in the rust/signer directorymake androidwill also have started the scriptcopy_androidwhich should have copied the rust compilation results into the java project.
(If the make android command throws an error that is complaining about missing -lgcc look at this issue ) 4. Run the app (in Android studio or with npm run android)
Heavily inspired by
https://github.com/paritytech/parity-signer/tree/legacy-4.5.3 https://robertohuertas.com/2019/10/27/rust-for-android-ios-flutter/