File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11#! /bin/bash
2- set -e
3- source swift-define
2+ set -euo pipefail
3+
4+ SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd) "
5+ source " $SCRIPT_DIR /swift-define"
6+ JNI_LIBS_DIR=" $SRC_ROOT /app/src/main/jniLibs/$ANDROID_ARCH "
47
58# Build with SwiftPM
6- ANDROID_NDK_ROOT=" " ANDROID_SDK_VERSION=$ANDROID_SDK_VERSION skip android build --arch $SWIFT_TARGET_ARCH --android-api-level $ANDROID_SDK_VERSION
9+ ANDROID_NDK_ROOT=" " ANDROID_SDK_VERSION=" $ANDROID_SDK_VERSION " skip android build --arch " $SWIFT_TARGET_ARCH " --android-api-level " $ANDROID_SDK_VERSION "
710
811# Copy compiled Swift package
9- mkdir -p $SRC_ROOT /app/src/main/jniLibs/$ANDROID_ARCH /
10- cp -rf $SWIFT_PACKAGE_SRC /.build/$SWIFT_TARGET_NAME /debug/libSwiftAndroidApp.so \
11- $SRC_ROOT /app/src/main/jniLibs/$ANDROID_ARCH /
12+ mkdir -p " $JNI_LIBS_DIR /"
13+ cp -f " $SWIFT_PACKAGE_SRC /.build/$SWIFT_TARGET_NAME /debug/libSwiftAndroidApp.so" " $JNI_LIBS_DIR /"
14+
15+ # Copy Swift runtime shared libraries required by libSwiftAndroidApp.so.
16+ if [[ -d " $SWIFT_ANDROID_RUNTIME_LIBS " ]]; then
17+ shopt -s nullglob
18+ for so in " $SWIFT_ANDROID_RUNTIME_LIBS " /* .so; do
19+ cp -f " $so " " $JNI_LIBS_DIR /"
20+ done
21+ shopt -u nullglob
22+ fi
23+
24+ # Copy SwiftJava helper library when available.
25+ if [[ -f " $SWIFT_PACKAGE_SRC /.build/$SWIFT_TARGET_NAME /debug/libSwiftJava.so" ]]; then
26+ cp -f " $SWIFT_PACKAGE_SRC /.build/$SWIFT_TARGET_NAME /debug/libSwiftJava.so" " $JNI_LIBS_DIR /"
27+ fi
28+
29+ # Copy C++ runtime from Android sysroot.
30+ if [[ -f " $SWIFT_ANDROID_SYSROOT /usr/lib/$ANDROID_LIB /libc++_shared.so" ]]; then
31+ cp -f " $SWIFT_ANDROID_SYSROOT /usr/lib/$ANDROID_LIB /libc++_shared.so" " $JNI_LIBS_DIR /"
32+ fi
Original file line number Diff line number Diff line change @@ -19,9 +19,9 @@ rm -rf "$JNI_LIBS_DIR/"
1919mkdir -p " $JNI_LIBS_DIR /"
2020
2121copied_swift_libs=0
22- if [[ -d " $SWIFT_ANDROID_LIBS " ]]; then
22+ if [[ -d " $SWIFT_ANDROID_RUNTIME_LIBS " ]]; then
2323 shopt -s nullglob
24- for so in " $SWIFT_ANDROID_LIBS " /* .so; do
24+ for so in " $SWIFT_ANDROID_RUNTIME_LIBS " /* .so; do
2525 cp -f " $so " " $JNI_LIBS_DIR /"
2626 copied_swift_libs=1
2727 done
Original file line number Diff line number Diff line change 2222SWIFT_SDK=swift-$SWIFT_VERSION_SHORT-release-android-$ANDROID_SDK_VERSION-sdk
2323SWIFT_ANDROID_SYSROOT="$SWIFT_SDKS_ROOT/$SWIFT_ARTIFACT_BUNDLE/swift-android/ndk-sysroot"
2424SWIFT_ANDROID_LIBS="$SWIFT_SDKS_ROOT/$SWIFT_ARTIFACT_BUNDLE/swift-android/swift-resources/usr/lib/swift-$SWIFT_TARGET_ARCH"
25+ SWIFT_ANDROID_RUNTIME_LIBS="$SWIFT_ANDROID_LIBS/android"
2526SWIFT_PACKAGE_SRC=$SRC_ROOT
2627JAVA_HOME=$SWIFT_ANDROID_SYSROOT/usr
2728
You can’t perform that action at this time.
0 commit comments