Prerequisites
Depending on what platforms and adapters you use, there are several prerequisites to install before getting started.
Installations
- General
 - iOS
 - Android
- Android Studio
 - JDK(Java Development Kit)
 - Also see configuration below
 
 - Web(WASM)
 
Circuits
- Circom
- Pre-built 
zkeyandwasmfiles for your circuits: See circom documentation 
 - Pre-built 
 - Halo2
- Pre-generated SRS (Structured Reference String) file, typically used as the universal setup for your circuits.
 - Please check out plonkish-fibonacci-sample to prepare circuits and SRS files.
 
 - Noir
- Pre-built circuit file 
.jsonfor your circuits. See Noir documentation. - Pre-generated SRS (Structured Reference String) file. See 
noir-rs: Downloading SRS 
 - Pre-built circuit file 
 
iOS configuration
Ensure that the command-line tools path is correctly set in Xcode. You can check this by navigating to Xcode > Settings > Locations.

Android configuration
Some additional configuration is required for Android.
First, install the latest SDK. In Android Studio, go to SDK Manager > SDK Tools and install NDK (Side by Side) (see Android Developer site).
After that, set the following environment variables:
- Export 
$ANDROID_HOME 
export ANDROID_HOME="~/Library/Android/sdk"
- Locate which NDK version you have
 
ls $ANDROID_HOME/ndk # => 26.1.10909125
- Set it to your 
NDK_PATHenvironment variable 
NDK_PATH=$ANDROID_HOME/ndk/26.1.10909125
Reference: Running Rust on Android with UniFFI.