@@ -36,7 +36,7 @@ To follow along with this guide, you'll need:
3636 instructions in the Swift project README.
37372 . The latest build of the Swift compiler for your Linux distro, available at
3838 https://www.swift.org/download/ or sometimes your distro package manager.
39- 3 . The latest version of the Android LTS NDK (r26d at the time of this writing),
39+ 3 . The latest version of the Android LTS NDK (r27c at the time of this writing),
4040 available to download here:
4141 https://developer.android.com/ndk/downloads
42424 . An Android device with remote debugging enabled or the emulator. We require
@@ -54,9 +54,9 @@ and the prebuilt Swift toolchain (add --skip-early-swift-driver if you already
5454have a Swift toolchain in your path):
5555
5656```
57- $ NDK_PATH=path/to/android-ndk-r26d
58- $ SWIFT_PATH=path/to/swift-DEVELOPMENT-SNAPSHOT-2024-07 -09-a-ubuntu22.04/usr/bin
59- $ git checkout swift-DEVELOPMENT-SNAPSHOT-2024-07 -09-a
57+ $ NDK_PATH=path/to/android-ndk-r27c
58+ $ SWIFT_PATH=path/to/swift-DEVELOPMENT-SNAPSHOT-2024-11 -09-a-ubuntu22.04/usr/bin
59+ $ git checkout swift-DEVELOPMENT-SNAPSHOT-2024-11 -09-a
6060$ utils/build-script \
6161 -R \ # Build in ReleaseAssert mode.
6262 --android \ # Build for Android.
@@ -83,8 +83,8 @@ Then use the standalone Swift stdlib from the previous step to compile a Swift
8383source file, targeting Android:
8484
8585```
86- $ NDK_PATH="path/to/android-ndk-r26d "
87- $ SWIFT_PATH=path/to/swift-DEVELOPMENT-SNAPSHOT-2024-07 -09-a-ubuntu22.04/usr/bin
86+ $ NDK_PATH="path/to/android-ndk-r27c "
87+ $ SWIFT_PATH=path/to/swift-DEVELOPMENT-SNAPSHOT-2024-11 -09-a-ubuntu22.04/usr/bin
8888$ $SWIFT_PATH/swiftc \ # The prebuilt Swift compiler you downloaded
8989 # The location of the tools used to build Android binaries
9090 -tools-directory ${NDK_PATH}/toolchains/llvm/prebuilt/linux-x86_64/bin/ \
@@ -122,18 +122,20 @@ commands to copy the Swift Android stdlib:
122122
123123```
124124$ adb push build/Ninja-ReleaseAssert/swift-linux-x86_64/lib/swift/android/libswiftCore.so /data/local/tmp
125- $ adb push build/Ninja-ReleaseAssert/swift-linux-x86_64/lib/swift/android/libswiftGlibc .so /data/local/tmp
125+ $ adb push build/Ninja-ReleaseAssert/swift-linux-x86_64/lib/swift/android/libswiftAndroid .so /data/local/tmp
126126$ adb push build/Ninja-ReleaseAssert/swift-linux-x86_64/lib/swift/android/libswiftSwiftOnoneSupport.so /data/local/tmp
127127$ adb push build/Ninja-ReleaseAssert/swift-linux-x86_64/lib/swift/android/libswiftRemoteMirror.so /data/local/tmp
128128$ adb push build/Ninja-ReleaseAssert/swift-linux-x86_64/lib/swift/android/libswift_Concurrency.so /data/local/tmp
129+ $ adb push build/Ninja-ReleaseAssert/swift-linux-x86_64/lib/swift/android/libswift_RegexParser.so /data/local/tmp
130+ $ adb push build/Ninja-ReleaseAssert/swift-linux-x86_64/lib/swift/android/libswift_StringProcessing.so /data/local/tmp
129131$ adb push build/Ninja-ReleaseAssert/swift-linux-x86_64/lib/swift/android/libdispatch.so /data/local/tmp
130132$ adb push build/Ninja-ReleaseAssert/swift-linux-x86_64/lib/swift/android/libBlocksRuntime.so /data/local/tmp
131133```
132134
133135In addition, you'll also need to copy the Android NDK's libc++:
134136
135137```
136- $ adb push /path/to/android-ndk-r26d /toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so /data/local/tmp
138+ $ adb push /path/to/android-ndk-r27c /toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so /data/local/tmp
137139```
138140
139141Finally, you'll need to copy the ` hello ` executable you built in the
@@ -176,7 +178,7 @@ $ utils/build-script \
176178 -R \ # Build in ReleaseAssert mode.
177179 -T \ # Run all tests, including on the Android device (add --host-test to only run Android tests on the Linux host).
178180 --android \ # Build for Android.
179- --android-ndk ~/android-ndk-r26d \ # Path to an Android NDK.
181+ --android-ndk ~/android-ndk-r27c \ # Path to an Android NDK.
180182 --android-arch aarch64 \ # Optionally specify Android architecture, alternately armv7 or x86_64
181183 --android-api-level 21
182184```
0 commit comments