@@ -31,12 +31,12 @@ Swift-to-Java bridging.
31
31
To follow along with this guide, you'll need:
32
32
33
33
1 . 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,
35
35
please make sure you are able to build for Linux by following the
36
36
instructions in the Swift project README.
37
37
2 . The latest build of the Swift compiler for your Linux distro, available at
38
38
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),
40
40
available to download here:
41
41
https://developer.android.com/ndk/downloads
42
42
4 . 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
54
54
have a Swift toolchain in your path):
55
55
56
56
```
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
60
60
$ utils/build-script \
61
61
-R \ # Build in ReleaseAssert mode.
62
62
--android \ # Build for Android.
@@ -83,8 +83,8 @@ Then use the standalone Swift stdlib from the previous step to compile a Swift
83
83
source file, targeting Android:
84
84
85
85
```
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
88
88
$ $SWIFT_PATH/swiftc \ # The prebuilt Swift compiler you downloaded
89
89
# The location of the tools used to build Android binaries
90
90
-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
133
133
In addition, you'll also need to copy the Android NDK's libc++:
134
134
135
135
```
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
137
137
```
138
138
139
139
Finally, you'll need to copy the ` hello ` executable you built in the
@@ -176,8 +176,8 @@ $ utils/build-script \
176
176
-R \ # Build in ReleaseAssert mode.
177
177
-T \ # Run all tests, including on the Android device (add --host-test to only run Android tests on the Linux host).
178
178
--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
181
181
--android-api-level 21
182
182
```
183
183
0 commit comments