From 183e37977977dcd82b8fc97323797f71639a4d5a Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Thu, 13 Nov 2025 03:00:48 +0530 Subject: [PATCH 01/11] Add Android blog post answering common questions and sharing more links and info Co-authored-by: Marc Prud'hommeaux --- _data/authors.yml | 4 + ...-21-exploring-the-swift-sdk-for-android.md | 78 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 _posts/2025-11-21-exploring-the-swift-sdk-for-android.md diff --git a/_data/authors.yml b/_data/authors.yml index ca2dd1db3..3d688fde4 100644 --- a/_data/authors.yml +++ b/_data/authors.yml @@ -243,6 +243,10 @@ parkera: github: parkera about: "Tony Parker manages teams at Apple working on Foundation, Swift packages, and the Swift Standard Library." +android-workgroup: + name: The Android workgroup + about: "The Android workgroup works toward furthering Swift on Android." + diversity-workgroup: name: The Diversity in Swift workgroup about: "The Diversity in Swift workgroup is a group of volunteers working to make our community more approachable and inclusive." diff --git a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md new file mode 100644 index 000000000..65fba17bc --- /dev/null +++ b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md @@ -0,0 +1,78 @@ +--- +layout: new-layouts/post +published: false +date: 2025-11-21 10:00:00 +title: "Exploring the Swift SDK for Android" +author: android-workgroup +category: "Developer Tools" +--- + +Since the announcement of [the preview Swift SDK for Android last month](/blog/nightly-swift-sdk-for-android/), +the Android workgroup has seen a lot of questions about how it works and what's next. Please read on for those answers. + +### Swift in the World of Android + +Swift is a natively-compiled language to machine code and Android is no different. +That renders it on par with C and C++ code built using the Android NDK, which are +languages more geared towards performance, while Swift essays a happier balance between +performance, safety, and usability. To enable that, Swift apps must bundle a native +runtime for Android that implements many of its features, including its standard library and +core libraries like Dispatch and [Foundation](/blog/foundation-preview-now-available/). + +However, since most Android APIs are only made available through Java and Kotlin +in the Android Runtime (ART), a version of the Java Virtual Machine (JVM) +optimized for mobile, we need to use the Java Native Interface (JNI) and write +bindings both to call Swift from Java and go the other way. That is where the +swift-java project's `jextract` tool and its [new support for generating such +JNI bindings for you](/blog/gsoc-2025-showcase-swift-java/) comes in. Please +watch its author Mads Odgaard's [Server-Side Swift Conference talk from last month](https://www.youtube.com/watch?v=tOH6V1IvTAc) +and try out the tool for yourself with [this example Android app that he put together](https://github.com/swiftlang/swift-android-examples/tree/main/hello-swift-java). + +### Swift in Android app stores + +While Swift on Android may seem new, it's important to recognize that there are +already millions of Android devices running Swift today. Production apps with +substantial user bases have been shipping Swift on Android for years, proving +the viability of this approach: + +- [Spark](https://play.google.com/store/apps/details?id=com.readdle.spark) - A popular email client using Swift to share code between mobile iOS/Android and desktop macOS/Windows versions +- [flowkey](https://play.google.com/store/apps/details?id=com.flowkey.app) - This interactive piano learning app has been built with Swift on Android since the open-source release +- [MediQuo](https://play.google.com/store/apps/details?id=com.mediquo.main) - A healthcare app leveraging Swift for cross-platform development +- [Naturitas](https://play.google.com/store/apps/details?id=com.naturitas.android) - An organic products marketplace running Swift in production + +These aren't experimental apps or proofs of concept—they're real businesses serving +real users at scale. The fact that millions of people use Swift-powered Android apps +daily without knowing shows both the stability of Swift on Android and the +practical benefits it provides to development teams sharing code across platforms. + +### Coming up Next + +Swift on Android [first got started as soon as the language was open-sourced a decade ago](https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20151207/000171.html), +but it is by no means done. [The Android project board lists areas we are working on](https://github.com/orgs/swiftlang/projects/17) +and easy debugging is a high priority for us next. While it [mostly works in limited use now](https://github.com/swiftlang/llvm-project/issues/10831), +we need to test it more and make it easy to access. That will likely mean tying +the debugger and [Swift Language Server Protocol tool, sourcekit-lsp](/blog/gsoc-2025-showcase-code-completion/), +into editors like [Visual Studio Code](/blog/gsoc-2025-showcase-swiftly-support-in-vscode/), +Android Studio, and [CodeEdit](https://www.codeedit.app/), another issue on our board. + +### Sharing Logic Versus Sharing UI + +A common concern is that we do not provide a cross-platform GUI toolkit. As we +write in [our draft vision document](https://github.com/swiftlang/swift-evolution/blob/807b844be42db582e434d1667fc907ae7a7a8775/visions/android.md), +the Android workgroup has no plans to create such a GUI toolkit, but will instead +curate a list of cross-platform UI tools. See our recent post in the Swift forums +listing several popular and in-progress options. (editor: add this link) + +### Diving in + +Finally, we intend to bring you interviews and information from those using Swift +on Android already, as pioneering companies like [Readdle](https://readdle.com/blog/swift-for-android-our-experience-and-tools) +and [Flowkey](https://medium.com/@ephemer/why-we-put-an-app-in-the-android-play-store-using-swift-96ac87c88dfc) +have written about using Swift on Android for the last decade. The Left Bit's Pierluigi Cifani +[wrote about their experiences recently](https://forums.swift.org/t/thoughts-on-swift-for-android/80961), +gave [a great talk at NSSpain 2025 a couple months ago](https://youtu.be/EIGl6GOo210), +and was [interviewed by Swift Toolkit last month](https://www.swifttoolkit.dev/posts/dc-pier). + +Swift on Android has been a community effort for the last decade, snowballing +from that initial patch to many businesses and developers making their livelihood +with it today. Join us to make it even better! From 6b5b1668ddc2166278781dfdd04b163e75145004 Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Fri, 21 Nov 2025 04:15:35 +0530 Subject: [PATCH 02/11] Reword one sentence --- _posts/2025-11-21-exploring-the-swift-sdk-for-android.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md index 65fba17bc..587d97b2f 100644 --- a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md +++ b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md @@ -41,8 +41,8 @@ the viability of this approach: - [Naturitas](https://play.google.com/store/apps/details?id=com.naturitas.android) - An organic products marketplace running Swift in production These aren't experimental apps or proofs of concept—they're real businesses serving -real users at scale. The fact that millions of people use Swift-powered Android apps -daily without knowing shows both the stability of Swift on Android and the +real users at scale. The fact that millions of people unknowingly use Swift-powered +Android apps daily shows both the stability of Swift on Android and the practical benefits it provides to development teams sharing code across platforms. ### Coming up Next From 7f8146fe15cd8d8da4824943f0bad01fe43240f4 Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Fri, 21 Nov 2025 05:39:03 +0530 Subject: [PATCH 03/11] Link to GUI forums post --- _posts/2025-11-21-exploring-the-swift-sdk-for-android.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md index 587d97b2f..e1fde2511 100644 --- a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md +++ b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md @@ -60,8 +60,8 @@ Android Studio, and [CodeEdit](https://www.codeedit.app/), another issue on our A common concern is that we do not provide a cross-platform GUI toolkit. As we write in [our draft vision document](https://github.com/swiftlang/swift-evolution/blob/807b844be42db582e434d1667fc907ae7a7a8775/visions/android.md), the Android workgroup has no plans to create such a GUI toolkit, but will instead -curate a list of cross-platform UI tools. See our recent post in the Swift forums -listing several popular and in-progress options. (editor: add this link) +curate a list of cross-platform UI tools. See [our recent post in the Swift forums](https://forums.swift.org/t/swift-gui-toolkits-for-android/83337) +listing a handful of popular and in-progress options. ### Diving in From b8e565187f511716385274b41d5b496846a68bdc Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Fri, 21 Nov 2025 05:51:33 +0530 Subject: [PATCH 04/11] Link to getting started page at end --- _posts/2025-11-21-exploring-the-swift-sdk-for-android.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md index e1fde2511..d4a2fd4bd 100644 --- a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md +++ b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md @@ -75,4 +75,5 @@ and was [interviewed by Swift Toolkit last month](https://www.swifttoolkit.dev/p Swift on Android has been a community effort for the last decade, snowballing from that initial patch to many businesses and developers making their livelihood -with it today. Join us to make it even better! +with it today. [Try out the preview SDK snapshots](/documentation/articles/swift-sdk-for-android-getting-started.html) +and help us make it even better! From cf95466874de30f4f3cd41a74215795925bc19f8 Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Fri, 21 Nov 2025 18:22:15 +0530 Subject: [PATCH 05/11] Pull in Konrad's copy with some changes --- ...11-21-exploring-the-swift-sdk-for-android.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md index d4a2fd4bd..2a9f08241 100644 --- a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md +++ b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md @@ -19,14 +19,15 @@ performance, safety, and usability. To enable that, Swift apps must bundle a nat runtime for Android that implements many of its features, including its standard library and core libraries like Dispatch and [Foundation](/blog/foundation-preview-now-available/). -However, since most Android APIs are only made available through Java and Kotlin -in the Android Runtime (ART), a version of the Java Virtual Machine (JVM) -optimized for mobile, we need to use the Java Native Interface (JNI) and write -bindings both to call Swift from Java and go the other way. That is where the -swift-java project's `jextract` tool and its [new support for generating such -JNI bindings for you](/blog/gsoc-2025-showcase-swift-java/) comes in. Please -watch its author Mads Odgaard's [Server-Side Swift Conference talk from last month](https://www.youtube.com/watch?v=tOH6V1IvTAc) -and try out the tool for yourself with [this example Android app that he put together](https://github.com/swiftlang/swift-android-examples/tree/main/hello-swift-java). +However, since most Android APIs are only made available through Java and Kotlin, +Swift must call into the Android Runtime (ART). That is where the [Java interoperability +project's](https://github.com/swiftlang/swift-java) `jextract` and `wrap-java` +tools come in. These tools automatically create bindings that enable you to call +Swift from Java or go the other way using the Java Native Interface (JNI), which +allows Swift to seamlessly integrate with the Android platform. The [`jextract` +tool gained a JNI mode recently](/blog/gsoc-2025-showcase-swift-java/): +please watch its author Mads Odgaard's [Server Side Swift Conference talk from last month](https://www.youtube.com/watch?v=tOH6V1IvTAc). +You can also check out [his hello-swift example in the Android examples repository](https://github.com/swiftlang/swift-android-examples/tree/main/hello-swift-java). ### Swift in Android app stores From 8a985a03cf3738d990b72305d15dad3b3f727b6e Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Fri, 21 Nov 2025 19:29:33 +0530 Subject: [PATCH 06/11] Make Dave's suggested changes to first paragraph --- ...2025-11-21-exploring-the-swift-sdk-for-android.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md index 2a9f08241..5f1ad0005 100644 --- a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md +++ b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md @@ -12,12 +12,12 @@ the Android workgroup has seen a lot of questions about how it works and what's ### Swift in the World of Android -Swift is a natively-compiled language to machine code and Android is no different. -That renders it on par with C and C++ code built using the Android NDK, which are -languages more geared towards performance, while Swift essays a happier balance between -performance, safety, and usability. To enable that, Swift apps must bundle a native -runtime for Android that implements many of its features, including its standard library and -core libraries like Dispatch and [Foundation](/blog/foundation-preview-now-available/). +Swift compiles directly to native machine code on Android, the same way it does on other +platforms. This gives it similar performance to C and C++ code using the Android Native +Development Kit (NDK), while achieving a happier balance between performance, safety, +and usability. To make this possible, Swift apps on Android bundle a native runtime +that implements many of its features, including its standard library and core +libraries like Dispatch and [Foundation](/blog/foundation-preview-now-available/). However, since most Android APIs are only made available through Java and Kotlin, Swift must call into the Android Runtime (ART). That is where the [Java interoperability From 11dc348c44284c8ce4fcc74816c5ce70f9eb881c Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Fri, 21 Nov 2025 19:59:25 +0530 Subject: [PATCH 07/11] Make Dave's suggested changes to app examples and surrounding text --- ...11-21-exploring-the-swift-sdk-for-android.md | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md index 5f1ad0005..c4b6bc580 100644 --- a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md +++ b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md @@ -10,7 +10,7 @@ category: "Developer Tools" Since the announcement of [the preview Swift SDK for Android last month](/blog/nightly-swift-sdk-for-android/), the Android workgroup has seen a lot of questions about how it works and what's next. Please read on for those answers. -### Swift in the World of Android +## Swift in the World of Android Swift compiles directly to native machine code on Android, the same way it does on other platforms. This gives it similar performance to C and C++ code using the Android Native @@ -29,23 +29,16 @@ tool gained a JNI mode recently](/blog/gsoc-2025-showcase-swift-java/): please watch its author Mads Odgaard's [Server Side Swift Conference talk from last month](https://www.youtube.com/watch?v=tOH6V1IvTAc). You can also check out [his hello-swift example in the Android examples repository](https://github.com/swiftlang/swift-android-examples/tree/main/hello-swift-java). -### Swift in Android app stores +## Swift on Android in production -While Swift on Android may seem new, it's important to recognize that there are -already millions of Android devices running Swift today. Production apps with -substantial user bases have been shipping Swift on Android for years, proving -the viability of this approach: +Android apps built with Swift have millions of downloads and have been in production +for many years. Here are some notable examples: - [Spark](https://play.google.com/store/apps/details?id=com.readdle.spark) - A popular email client using Swift to share code between mobile iOS/Android and desktop macOS/Windows versions -- [flowkey](https://play.google.com/store/apps/details?id=com.flowkey.app) - This interactive piano learning app has been built with Swift on Android since the open-source release +- [flowkey](https://play.google.com/store/apps/details?id=com.flowkey.app) - An interactive piano learning app built with Swift for Android for almost a decade - [MediQuo](https://play.google.com/store/apps/details?id=com.mediquo.main) - A healthcare app leveraging Swift for cross-platform development - [Naturitas](https://play.google.com/store/apps/details?id=com.naturitas.android) - An organic products marketplace running Swift in production -These aren't experimental apps or proofs of concept—they're real businesses serving -real users at scale. The fact that millions of people unknowingly use Swift-powered -Android apps daily shows both the stability of Swift on Android and the -practical benefits it provides to development teams sharing code across platforms. - ### Coming up Next Swift on Android [first got started as soon as the language was open-sourced a decade ago](https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20151207/000171.html), From a3fde70859f62f00f3418d64292d3f2ff1b2c199 Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Fri, 21 Nov 2025 20:29:29 +0530 Subject: [PATCH 08/11] Make Dave's suggested changes to future work section --- _posts/2025-11-21-exploring-the-swift-sdk-for-android.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md index c4b6bc580..eb6aaf589 100644 --- a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md +++ b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md @@ -39,11 +39,11 @@ for many years. Here are some notable examples: - [MediQuo](https://play.google.com/store/apps/details?id=com.mediquo.main) - A healthcare app leveraging Swift for cross-platform development - [Naturitas](https://play.google.com/store/apps/details?id=com.naturitas.android) - An organic products marketplace running Swift in production -### Coming up Next +## Coming up Next -Swift on Android [first got started as soon as the language was open-sourced a decade ago](https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20151207/000171.html), -but it is by no means done. [The Android project board lists areas we are working on](https://github.com/orgs/swiftlang/projects/17) -and easy debugging is a high priority for us next. While it [mostly works in limited use now](https://github.com/swiftlang/llvm-project/issues/10831), +Grassroots community efforts to run Swift on Android [began as soon as the language source was opened in 2015](https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20151207/000171.html), +and continue to this day. [The Android project board lists areas the workgroup determines important](https://github.com/orgs/swiftlang/projects/17), +such as easy debugging, now a high priority for us. While it [mostly works in limited use](https://github.com/swiftlang/llvm-project/issues/10831), we need to test it more and make it easy to access. That will likely mean tying the debugger and [Swift Language Server Protocol tool, sourcekit-lsp](/blog/gsoc-2025-showcase-code-completion/), into editors like [Visual Studio Code](/blog/gsoc-2025-showcase-swiftly-support-in-vscode/), From 9d115da93aab6c441dd45afefac59c7478b2d866 Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Fri, 21 Nov 2025 20:41:30 +0530 Subject: [PATCH 09/11] Tweak pioneer paragraph --- _posts/2025-11-21-exploring-the-swift-sdk-for-android.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md index eb6aaf589..d0d4b97e5 100644 --- a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md +++ b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md @@ -60,7 +60,7 @@ listing a handful of popular and in-progress options. ### Diving in Finally, we intend to bring you interviews and information from those using Swift -on Android already, as pioneering companies like [Readdle](https://readdle.com/blog/swift-for-android-our-experience-and-tools) +on Android already, as pioneers like [Readdle](https://readdle.com/blog/swift-for-android-our-experience-and-tools) and [Flowkey](https://medium.com/@ephemer/why-we-put-an-app-in-the-android-play-store-using-swift-96ac87c88dfc) have written about using Swift on Android for the last decade. The Left Bit's Pierluigi Cifani [wrote about their experiences recently](https://forums.swift.org/t/thoughts-on-swift-for-android/80961), From 79c00a982e06ff9c8647091af4e50aa338dcf2cc Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Fri, 21 Nov 2025 20:55:11 +0530 Subject: [PATCH 10/11] Expand GUI tools info --- ...-11-21-exploring-the-swift-sdk-for-android.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md index d0d4b97e5..f4019563e 100644 --- a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md +++ b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md @@ -49,15 +49,19 @@ the debugger and [Swift Language Server Protocol tool, sourcekit-lsp](/blog/gsoc into editors like [Visual Studio Code](/blog/gsoc-2025-showcase-swiftly-support-in-vscode/), Android Studio, and [CodeEdit](https://www.codeedit.app/), another issue on our board. -### Sharing Logic Versus Sharing UI +## Sharing Logic Versus Sharing UI -A common concern is that we do not provide a cross-platform GUI toolkit. As we -write in [our draft vision document](https://github.com/swiftlang/swift-evolution/blob/807b844be42db582e434d1667fc907ae7a7a8775/visions/android.md), +Swift on Android is primarily suited to sharing business logic, as we do not provide +a cross-platform GUI toolkit. As we write in [our draft vision document](https://github.com/swiftlang/swift-evolution/blob/807b844be42db582e434d1667fc907ae7a7a8775/visions/android.md), the Android workgroup has no plans to create such a GUI toolkit, but will instead -curate a list of cross-platform UI tools. See [our recent post in the Swift forums](https://forums.swift.org/t/swift-gui-toolkits-for-android/83337) -listing a handful of popular and in-progress options. +curate a list of cross-platform UI tools. -### Diving in +See [our recent post in the Swift forums](https://forums.swift.org/t/swift-gui-toolkits-for-android/83337) +that lists a handful of popular and in-progress options we found, but have not +validated regarding what their authors claim. We will work with those devs in the +coming months to add more info on using their GUI tools with the Swift SDK for Android. + +## Diving in Finally, we intend to bring you interviews and information from those using Swift on Android already, as pioneers like [Readdle](https://readdle.com/blog/swift-for-android-our-experience-and-tools) From 475de3b127a56ad47810daa097963d2353cb192e Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Fri, 21 Nov 2025 21:24:19 +0530 Subject: [PATCH 11/11] Last GUI tweak --- _posts/2025-11-21-exploring-the-swift-sdk-for-android.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md index f4019563e..f4916b685 100644 --- a/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md +++ b/_posts/2025-11-21-exploring-the-swift-sdk-for-android.md @@ -57,7 +57,7 @@ the Android workgroup has no plans to create such a GUI toolkit, but will instea curate a list of cross-platform UI tools. See [our recent post in the Swift forums](https://forums.swift.org/t/swift-gui-toolkits-for-android/83337) -that lists a handful of popular and in-progress options we found, but have not +that lists a handful of popular and in-progress options we found, but have not yet validated regarding what their authors claim. We will work with those devs in the coming months to add more info on using their GUI tools with the Swift SDK for Android.