44 lines
1.6 KiB
Docker
44 lines
1.6 KiB
Docker
FROM rust:trixie
|
|
|
|
ARG ANDROID_CLI_TOOLS_VERSION=13114758
|
|
|
|
# Install android rust toolchains
|
|
RUN rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
|
|
|
|
# Install debian dependencies
|
|
RUN apt-get update && \
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
|
nodejs \
|
|
ca-certificates \
|
|
curl \
|
|
unzip \
|
|
default-jdk
|
|
|
|
# Install android commandline tools (required to install the sdk)
|
|
RUN cd /tmp && \
|
|
curl -o commandlinetools-linux.zip "https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_CLI_TOOLS_VERSION}_latest.zip" && \
|
|
unzip commandlinetools-linux.zip && \
|
|
mkdir -p /opt/android-tools/cmdline-tools && \
|
|
cp -r cmdline-tools /opt/android-tools/cmdline-tools/latest
|
|
|
|
|
|
# Install required android tools
|
|
RUN yes | /opt/android-tools/cmdline-tools/latest/bin/sdkmanager --install "platform-tools" "platforms;android-36.1" "build-tools;36.1.0" "ndk;29.0.14206865" "cmake;3.31.6"
|
|
|
|
# Install cargo binstall
|
|
RUN curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
|
|
|
|
# Install dioxus-cli
|
|
RUN cargo binstall dioxus-cli@0.7.3
|
|
|
|
# Install bindgen-cli
|
|
RUN cargo binstall bindgen-cli
|
|
|
|
# Set required env vars
|
|
ENV ANDROID_HOME="/opt/android-tools/"
|
|
ENV NDK_HOME="$ANDROID_HOME/ndk/29.0.14206865"
|
|
ENV PATH="$PATH:$ANDROID_HOME/platform-tools"
|
|
ENV PATH="$PATH:/opt/android-tools/cmake/3.31.6/bin/"
|
|
ENV LLVM_CONFIG_PATH="/opt/android-tools/ndk/29.0.14206865/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-config"
|
|
|