@@ -15,28 +15,33 @@ jobs:
1515 with :
1616 go-version : ' 1.22.x'
1717
18- - name : Download Android NDK (r28c)
18+ # Sets ANDROID_NDK_ROOT, adds toolchains to PATH
19+ - name : Set up Android NDK (r28c)
20+ uses : android-actions/setup-ndk@v3
21+ with :
22+ ndk-version : r28c
23+
24+ - name : Verify NDK toolchain
1925 run : |
20- # wget -q https://dl.google.com/android/repository/android-ndk-r28c-linux.zip
21- # unzip -q android-ndk-r28c- linux.zip
22- echo "ANDROID_NDK=$PWD/android-ndk-r28c" >> $GITHUB_ENV
26+ echo "ANDROID_NDK_ROOT=$ANDROID_NDK_ROOT"
27+ ls -l "$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/ linux-x86_64/bin" | head
28+ test -x "$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"
2329
2430 - name : Build Kopia (Android/arm64, CGO, netcgo) via go install
2531 env :
26- ANDROID_NDK : ${{ env.ANDROID_NDK }}
32+ ANDROID_NDK_ROOT : ${{ env.ANDROID_NDK_ROOT }}
2733 run : |
28- # Android/arm64 cross-compile with CGO and cgo DNS resolver
29- export CC="$ANDROID_NDK /toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"
30- export CXX="$ANDROID_NDK /toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++"
34+ # Android/arm64 cross-compile with CGO + cgo DNS resolver
35+ export CC="$ANDROID_NDK_ROOT /toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"
36+ export CXX="$ANDROID_NDK_ROOT /toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++"
3137 export GOOS=android
3238 export GOARCH=arm64
3339 export CGO_ENABLED=1
3440
3541 # IMPORTANT: GOBIN must be unset for cross-installs
36- # go install will place the binary under: $(go env GOPATH)/bin/${GOOS}_${GOARCH}/kopia
3742 env -u GOBIN go install -tags netcgo github.com/kopia/[email protected] 3843
39- # Collect the cross-compiled binary
44+ # Collect the cross-compiled binary: $(go env GOPATH)/bin/${GOOS}_${GOARCH}/kopia
4045 TARGET_BIN_DIR="$(go env GOPATH)/bin/${GOOS}_${GOARCH}"
4146 ls -l "$TARGET_BIN_DIR"
4247 mkdir -p out
0 commit comments