5757 ANDROID_EMULATOR_NAME : ' demo'
5858 ANDROID_PROFILE : " Nexus 10"
5959 ANDROID_CHANNEL : " 3"
60+ ANDROID_NDK_VERSION : " r27d"
6061 BUILD_TOOLS_VERSION : " 35.0.0"
6162 steps :
6263 - name : Free Disk Space
@@ -105,24 +106,25 @@ jobs:
105106 run : swift sdk list
106107
107108 - name : Install Android NDK
108- uses : nttld/setup-ndk@v1
109- id : setup-ndk
110- with :
111- ndk-version : r27d
109+ run : |
110+ mkdir ~/android-ndk
111+ cd ~/android-ndk
112+ curl -fSLO https://dl.google.com/android/repository/android-ndk-${ANDROID_NDK_VERSION}-$(uname -s).zip
113+ unzip -q android-ndk-${ANDROID_NDK_VERSION}-*.zip
114+ echo "ANDROID_NDK_HOME=${PWD}/android-ndk-${ANDROID_NDK_VERSION}" >> $GITHUB_ENV
112115
113116 - name : Setup Android Environment
114117 run : |
115118 echo "$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/${{ env.ANDROID_BUILD_TOOLS_VERSION }}" >> $GITHUB_PATH
116- echo "ANDROID_NDK_HOME=${{ steps.setup-ndk.outputs.ndk-path }}" >> $GITHUB_ENV
117119 # needed for Linux or else the emulator will be created in
118120 # ~/.android/avd but it will be sought in ~/.config/.android/avd
119121 if [[ "${RUNNER_OS}" == "Linux" ]]; then
120- echo "ANDROID_AVD_HOME=${XDG_CONFIG_HOME}/.android/avd" >> $GITHUB_ENV
122+ echo "ANDROID_AVD_HOME=${XDG_CONFIG_HOME:-$HOME }/.android/avd" >> $GITHUB_ENV
121123 fi
122124
123125 - name : Setup Swift SDK for Android
124126 run : |
125- cd ~/Library/org.swift.swiftpm || cd ${XDG_CONFIG_HOME:-$HOME}/.swiftpm
127+ cd ~/Library/org.swift.swiftpm || cd ${XDG_CONFIG_HOME:-$HOME}/.swiftpm || cd ~/.swiftpm
126128 ./swift-sdks/swift-DEVELOPMENT-SNAPSHOT-2025-10-16-a-android-0.1.artifactbundle/swift-android/scripts/setup-android-sdk.sh
127129
128130 - name : Build Swift Executable for Android
@@ -131,6 +133,7 @@ jobs:
131133 cd hello
132134 swiftly run swift package init --type executable
133135 swiftly run swift build --swift-sdk x86_64-unknown-linux-android${ANDROID_API} --static-swift-stdlib
136+ file .build/debug/hello
134137
135138 - name : Enable KVM
136139 if : runner.os == 'Linux'
@@ -179,7 +182,8 @@ jobs:
179182
180183 - name : Push Swift Exeutable to Android Emulator
181184 run : |
182- adb push .debug/hello /data/local/tmp
185+ cd hello
186+ adb push .build/debug/hello /data/local/tmp
183187 adb push $ANDROID_NDK_HOME/toolchains/llvm/prebuilt/*/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so /data/local/tmp/
184188
185189 - name : Run Swift Exeutable on Android Emulator
0 commit comments