
After roughly a year of groundwork, Apple's Swift programming language has crossed what was once considered an uncrossable line — it now officially supports Android development.
The Swift 6.3 release, shipped earlier this month, bundles the first stable release of the Swift SDK for Android. This isn't an experimental patch or a third-party workaround.
It's a fully sanctioned toolchain that lets developers write native Android applications in Swift, update existing Swift packages to target Android, and — critically — embed Swift code directly into apps already written in Kotlin or Java using Swift Java and Swift Java JNI Core (a low-level bridge between Swift and Android's Java-based runtime).
The significance here is real. iOS developers maintaining a Swift codebase no longer have to rewrite core logic from scratch to ship something equivalent on Android. Shared business logic, network layers, and data models can, in principle, live in Swift and run on both platforms.
Getting started requires three moving parts: the Swift Toolchain, the new Android SDK bundle, and Google's Android NDK (Native Development Kit, version 27d or later) — which provides the platform-specific headers Android needs to compile native code.
The process involves cross-compilation, meaning you build on a Mac or Linux machine and the output runs on an Android device or emulator. Both x86_64 (for emulators) and aarch64 (for most modern phones) architectures are supported.
Shipping a Swift-powered Android app still requires packaging it as an .apk (Android's standard app format) and integrating with the rest of your Android project through the swift-java interoperability library, which handles the messy JNI (Java Native Interface) plumbing automatically.
Kotlin isn't going anywhere — it remains the primary language for Android, and Android Studio doesn't natively support Swift today. But the door is now officially open, and it was the Swift Android Workgroup whose months of effort — built on years of grassroots community experimentation — finally pushed this from nightly previews to a proper release.
For developers juggling iOS and Android codebases, that's a meaningful shift.