Automated scripts to build Swift Android cross compilation toolchain for macOS
Prebuilt toolchains are located on Github Releases
- Install Swift 6.1 toolchain with swiftly
swiftly install 6.1
- Install the Android NDK 27c
- If you have Android SDK Command-Line Tools installed:
sdkmanager --install "ndk;27.2.12479018"
- Install the Swift Android Toolchain
curl -L -O https://github.com/readdle/swift-android-toolchain/releases/latest/download/swift-android.zip
unzip swift-android.zip
- Set Up Environment Variables
export ANDROID_NDK_HOME=<PATH_TO_NDK>
export SWIFT_ANDROID_HOME=<PATH_TO_SWIFT_ANDROID>
export PATH=$ANDROID_NDK_HOME:$PATH
export PATH=$SWIFT_ANDROID_HOME/build-tools:$PATH
Our current swift build system is tiny wrapper over Swift PM. See Swift Package Manager docs for more info.
Command | Description |
---|---|
swift-android build | Build all products |
swift-android build --build-tests | Build all products and tests |
swift-android test | Connect to Android device and run all tests |
swift-android build
wrapper scripts works as swift build
from Swift Package Manager but is configured for Android. You can pass additional parameters such as -Xswiftc -DDEBUG
, -Xswiftc -suppress-warnings
or --configuration release
Example of compilation flags:
- Debug
swift-android build --configuration debug -Xswiftc -DDEBUG
- Release
swift-android build --configuration release
swift-android test
wrapper script builds, copies, and runs Swift Package Manager (SPM) tests on a connected Android device.
This plugin integrates Swift Android Toolchain to Gradle