Skip to content

Commit db1d133

Browse files
committed
chore(git): add android cargo build
1 parent 293b025 commit db1d133

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM ubuntu:22.04
22

33
# Set environment variables for the Android SDK and NDK, and the API level.
4-
ENV ANDROID_API_LEVEL="27"
4+
ENV ANDROID_API_LEVEL="33"
55
ENV ANDROID_NDK_VERSION=r26d
66
ENV ANDROID_SDK_ROOT="/usr/lib/android-sdk"
77
ENV ANDROID_HOME="/usr/lib/android-sdk"
@@ -66,6 +66,7 @@ RUN find /root/.rustup -name "libcore*.rlib" -path "*android*" -ls
6666
RUN echo "=== NDK LIBRARY DEBUG ==="
6767
RUN find ${NDK_SYSROOT} -name "libunwind*" -ls
6868
RUN ls -la ${NDK_SYSROOT}/usr/lib/aarch64-linux-android/${ANDROID_API_LEVEL} || echo "aarch64 API ${ANDROID_API_LEVEL} library directory not found!"
69+
RUN ls -la ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android* || echo "No aarch64 linkers found!"
6970

7071
# Configure Cargo for Android cross-compilation
7172
RUN echo "=== SETTING UP CARGO CONFIG ===" && \
@@ -78,7 +79,7 @@ RUN echo "=== SETTING UP CARGO CONFIG ===" && \
7879
echo '[target.aarch64-linux-android]' > /root/.cargo/config.toml && \
7980
echo "linker = \"$AARCH64_CLANG\"" >> /root/.cargo/config.toml && \
8081
echo "ar = \"$LLVM_AR\"" >> /root/.cargo/config.toml && \
81-
echo "rustflags = [\"-C\", \"link-arg=--sysroot=${NDK_SYSROOT}\", \"-C\", \"link-arg=-L${NDK_SYSROOT}/usr/lib/aarch64-linux-android/${ANDROID_API_LEVEL}\"]" >> /root/.cargo/config.toml && \
82+
echo "rustflags = [\"-C\", \"link-arg=--sysroot=${NDK_SYSROOT}\", \"-C\", \"link-arg=-L${NDK_SYSROOT}/usr/lib/aarch64-linux-android\", \"-C\", \"link-arg=-L${NDK_SYSROOT}/usr/lib/aarch64-linux-android/${ANDROID_API_LEVEL}\"]" >> /root/.cargo/config.toml && \
8283
echo '' >> /root/.cargo/config.toml && \
8384
cat /root/.cargo/config.toml
8485

@@ -98,7 +99,9 @@ RUN echo "=== TESTING WITH RUSTC ===" && \
9899
rustc --target aarch64-linux-android --edition 2021 test.rs \
99100
--sysroot ${NDK_SYSROOT} \
100101
-C linker=${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android${ANDROID_API_LEVEL}-clang \
102+
-C link-arg=-L${NDK_SYSROOT}/usr/lib/aarch64-linux-android \
101103
-C link-arg=-L${NDK_SYSROOT}/usr/lib/aarch64-linux-android/${ANDROID_API_LEVEL} \
104+
-L ${NDK_SYSROOT}/usr/lib/aarch64-linux-android \
102105
-L ${NDK_SYSROOT}/usr/lib/aarch64-linux-android/${ANDROID_API_LEVEL}
103106

104107
RUN echo "Test compilation successful!"

0 commit comments

Comments
 (0)