Hi everyone!
I am excited to share that with Swift Stream IDE v1.17.0, released on December 31, 2025, full native Android application development in Swift is now possible.
This release achieves a milestone I’ve been working toward since May 2025, allowing you to write Android apps entirely in Swift, without touching XML, Java, or Kotlin.
If you have been following Swift Stream IDE, you know it previously supported Android library development. That was the foundation for the next level, and now the IDE supports full Android application development . You can create new projects using familiar Android Studio templates, such as Empty Activity, Basic Views, or Navigation UI, all written in Swift.
Under the hood, projects are powered by SwifDroid , a framework I built to fully integrate with the Android platform. SwifDroid lets you write an entire Android app in Swift, from the manifest to the UI widgets. Activities and fragments are declared in Swift, and the underlying Java classes are generated automatically. UI widgets can be composed using result builders. The framework gracefully handles the application lifecycle and configuration changes, and it automatically wires Gradle dependencies. Overall, development feels very Swifty while giving you full access to the Android API. The goal is to cover the entire Android app development API while keeping the workflow natural for Swift developers.
Here is a small example of how UI code looks:
And how entrypoint code along with the manifest looks like:
Make yourself a cup of tea/coffee as the first run pulls the toolchain, SDK, and NDK, so it may take some time. Later, they are cached in Docker volumes, and new projects are created instantly.
During the first build, the IDE not only compiles Swift, but also generates a full Android project (which you can later open in Android Studio) and creates a Gradle wrapper. After that, builds take seconds.
Once Swift is compiled, you can simply open the Application folder in Android Studio and hit Run or Restart to see your changes. All necessary files from Swift Stream IDE are already in place, so iteration is fast and seamless.
Shoutout to @purpln for highlighting approaches with
MainActorand native
I’m continuing to iterate on SwifDroid, its docs, and the IDE, adding more widgets and APIs. There’s still a lot of work ahead since Android is huge.
You can start playing with it today, and I’d greatly appreciate your feedback, feature requests, and contributions.


