@@ -31,12 +31,12 @@ Swift-to-Java bridging.
3131To follow along with this guide, you'll need:
3232
33331 . A Linux environment capable of building Swift from source, preferably
34- Ubuntu 20 .04 or Ubuntu 18 .04. Before attempting to build for Android,
34+ Ubuntu 22 .04 or Ubuntu 20 .04. Before attempting to build for Android,
3535 please make sure you are able to build for Linux by following the
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 (r26c at the time of this writing),
39+ 3 . The latest version of the Android LTS NDK (r26d 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-r26c
58- $ SWIFT_PATH=path/to/swift-DEVELOPMENT-SNAPSHOT-2023- 09-30-a-ubuntu20 .04/usr/bin
59- $ git checkout swift-DEVELOPMENT-SNAPSHOT-2023-09-30 -a
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
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-r26c "
87- $ SWIFT_PATH=path/to/swift-DEVELOPMENT-SNAPSHOT-2023- 09-30-a-ubuntu20 .04/usr/bin
86+ $ NDK_PATH="path/to/android-ndk-r26d "
87+ $ SWIFT_PATH=path/to/swift-DEVELOPMENT-SNAPSHOT-2024-07- 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/ \
@@ -133,7 +133,7 @@ $ adb push build/Ninja-ReleaseAssert/swift-linux-x86_64/lib/swift/android/libBlo
133133In addition, you'll also need to copy the Android NDK's libc++:
134134
135135```
136- $ adb push /path/to/android-ndk-r26c /toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so /data/local/tmp
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
137137```
138138
139139Finally, you'll need to copy the ` hello ` executable you built in the
@@ -176,8 +176,8 @@ $ utils/build-script \
176176 -R \ # Build in ReleaseAssert mode.
177177 -T \ # Run all tests, including on the Android device (add --host-test to only run Android tests on the Linux host).
178178 --android \ # Build for Android.
179- --android-ndk ~/android-ndk-r26c \ # Path to an Android NDK.
180- --android-arch aarch64 \ # Optionally specify Android architecture, alternately armv7
179+ --android-ndk ~/android-ndk-r26d \ # Path to an Android NDK.
180+ --android-arch aarch64 \ # Optionally specify Android architecture, alternately armv7 or x86_64
181181 --android-api-level 21
182182```
183183
0 commit comments