Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  Dockerfile   Sprache: unbekannt

 
Spracherkennung für: vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

# Dockerfile for an Android compilation image, based on Debian Trixie Slim.
#
# NOTE: This docker image automatically accepts the Android SDK licenses. It may only be used
#       from a wrapper script that explicitly asks the user to accept the license!
#
# Arguments:
#
# - `JAVA_VERSION`: Set this to the desired Java version (e.g. 21)
# - `SDK_VERSION`: Set this to the desired Android SDK version (e.g. `35`)
# - `NDK_VERSION`: Set this to the desired Android NDK version (e.g. `25.2.9519653`)
# - `BUILD_TOOLS_VERSION`: Set this to the desired build tools version (e.g. `35.0.0`)
# - `RUST_VERSION`: Set this to the desired Rust version (e.g. `1.80`)

FROM docker.io/debian:trixie-slim

# Arguments
ARG JAVA_VERSION=21
ARG SDK_VERSION=35
ARG BUILD_TOOLS_VERSION=35.0.0
ARG NDK_VERSION=28.2.13676358
ARG RUST_VERSION

# Install dependencies
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -q \
 && apt-get -y -q install --no-install-recommends \
    build-essential file "openjdk-${JAVA_VERSION}-jdk" git wget unzip rsync vim-nox cpu-checker curl python3 protobuf-compiler \
 && rm -rf /var/lib/apt/lists/*

# Download Android command line tools
RUN mkdir -p /opt/android/cmdline-tools \
 && cd /opt/android/cmdline-tools \
 && wget https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip \
 && unzip commandlinetools-linux-6609375_latest.zip \
 && rm commandlinetools-linux-6609375_latest.zip
ENV ANDROID_SDK_ROOT=/opt/android

# Install Android SDK
RUN yes Y | /opt/android/cmdline-tools/tools/bin/sdkmanager --licenses
RUN /opt/android/cmdline-tools/tools/bin/sdkmanager --install \
    "tools" \
    "platform-tools" \
    "platforms;android-${SDK_VERSION}" \
    "ndk;${NDK_VERSION}" \
    "build-tools;${BUILD_TOOLS_VERSION}" \
    "emulator"

# The location of the rustup-init script to install rust (rustup, rustc, cargo)
ENV RUSTUP_INIT=/rust/rustup-init.sh

# Set location to install rust
ENV RUSTUP_HOME=/rust/rustup
ENV CARGO_HOME=/rust/cargo

# Copy the rust installation script
COPY rustup-init.sh $RUSTUP_INIT

# Install Rust
RUN $RUSTUP_INIT -y --default-toolchain $RUST_VERSION

ENV PATH="$CARGO_HOME/bin:$PATH"

RUN rustup target add x86_64-linux-android \
  && rustup target add i686-linux-android \
  && rustup target add armv7-linux-androideabi \
  && rustup target add aarch64-linux-android

# Allow anyone to write to the cargo directory
RUN chmod a+w $CARGO_HOME

# Set env variables
ENV PATH="$ANDROID_SDK_ROOT/cmdline-tools/tools/bin:$ANDROID_SDK_ROOT/platform-tools:$PATH"

# Create users with typical UIDs to avoid problems with Docker when remapping the UID
RUN chmod a+w /home && for newuid in $(seq 1000 1010); do useradd -M -d /home  -u $newuid -s /bin/bash "user$newuid"; done

# Create cache directories in order to be able to control the permissions of mounted volumes
RUN mkdir -p /code/build /code/app/.cxx \
 && chmod 777 /code/build /code/app/.cxx

[Dauer der Verarbeitung: 0.18 Sekunden, vorverarbeitet 2026-04-27]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge