dotnet-android-build-image/Dockerfile

49 lines
2 KiB
Text
Raw Normal View History

2026-06-07 04:42:13 +01:00
FROM debian:12-slim
# Éviter les invites interactives pendant l'installation
ENV DEBIAN_FRONTEND=noninteractive
ENV ANDROID_HOME=/opt/android-sdk
2026-06-07 04:50:35 +01:00
# CORRECTION : Le PATH ne contient que des dossiers (pas le fichier de destination final)
ENV PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools
2026-06-07 04:42:13 +01:00
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
wget \
curl \
gnupg \
2026-06-07 04:50:35 +01:00
unzip \
&& rm -rf /var/lib/apt/lists/*
2026-06-07 04:42:13 +01:00
# Installation de SDK Android
2026-06-07 04:50:35 +01:00
# CORRECTION : Création de la structure correcte exigée par Google (cmdline-tools/latest)
RUN mkdir -p ${ANDROID_HOME}/cmdline-tools \
&& wget -O /tmp/sdk-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip \
&& unzip /tmp/sdk-tools.zip -d ${ANDROID_HOME}/cmdline-tools \
&& mv ${ANDROID_HOME}/cmdline-tools/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest \
&& rm /tmp/sdk-tools.zip
2026-06-07 04:42:13 +01:00
# Installation des autres dépendances
RUN curl -fSsL -A "Mozilla/5.0" https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg \
&& echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/debian/12/prod bookworm main" > /etc/apt/sources.list.d/microsoft-prod.list \
&& apt-get update && apt-get install -y --no-install-recommends \
git \
openjdk-17-jdk-headless \
libstdc++6 \
make \
po-debconf \
zlib1g \
2026-06-07 04:50:35 +01:00
dotnet-sdk-10.0 \
&& rm -rf /var/lib/apt/lists/*
2026-06-07 04:42:13 +01:00
# 4. Acceptation des licences Android et installation des composants de base
2026-06-07 04:50:35 +01:00
# Prise en compte de votre demande pour Android 36 et build-tools 36.0.0
2026-06-07 04:42:13 +01:00
RUN yes | sdkmanager --licenses \
&& sdkmanager "platform-tools" "platforms;android-36" "build-tools;36.0.0"
# 5. Installation du workload .NET Android
RUN dotnet workload install android --skip-manifest-update
# Définition du répertoire de travail par défaut
WORKDIR /src
CMD ["bash"]