2024-07-28 02:48:36 +03:00
|
|
|
FROM ubuntu
|
|
|
|
|
2024-07-28 21:26:28 +03:00
|
|
|
# Rust & sdkmanager
|
2024-07-28 02:48:36 +03:00
|
|
|
ARG TOOLS_VERSION=13.0
|
2024-07-28 21:26:28 +03:00
|
|
|
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y clang gcc git rustup google-android-cmdline-tools-${TOOLS_VERSION}-installer
|
2024-07-28 02:48:36 +03:00
|
|
|
|
2024-07-28 21:26:28 +03:00
|
|
|
# Set up cargo-ndk
|
|
|
|
ARG ARCH_TRIPLET=armv7-linux-androideabi
|
2024-07-28 02:48:36 +03:00
|
|
|
RUN rustup default stable && cargo install cargo-ndk && rustup target add ${ARCH_TRIPLET}
|
2024-07-28 21:26:28 +03:00
|
|
|
|
|
|
|
# Install the NDK
|
|
|
|
ARG NDK_VERSION=25.2.9519653
|
2024-07-28 02:48:36 +03:00
|
|
|
RUN yes | sdkmanager --licenses && sdkmanager --install "ndk;${NDK_VERSION}"
|
|
|
|
|
2024-07-28 21:26:28 +03:00
|
|
|
# Required environment variables
|
2024-07-28 02:48:36 +03:00
|
|
|
ENV ANDROID_HOME="/usr/lib/android-sdk"
|
|
|
|
ENV ANDROID_NDK_HOME="/usr/lib/android-sdk/ndk/${NDK_VERSION}/"
|
2024-07-28 21:26:28 +03:00
|
|
|
ENV ANDROID_NDK_ROOT="${ANDROID_NDK_HOME}"
|
2024-07-28 02:48:36 +03:00
|
|
|
|
2024-07-28 21:26:28 +03:00
|
|
|
ARG NDK_ARCH=armeabi-v7a
|
2024-07-28 02:48:36 +03:00
|
|
|
|
2024-07-28 21:26:28 +03:00
|
|
|
WORKDIR /injectionforge
|
2024-07-28 02:48:36 +03:00
|
|
|
|
2024-07-28 21:26:28 +03:00
|
|
|
# Run with: docker run -it --name iforge -v $(pwd):/injectionforge injectionforge:latest
|
|
|
|
CMD ["cargo", "ndk", "-t", ${NDK_ARCH}, "--bindgen", "build"]
|