FROM debian:13-slim # Éviter les invites interactives pendant l'installation ENV DEBIAN_FRONTEND=noninteractive ENV ANDROID_HOME=/opt/android-sdk ENV ANDROID_AVD_HOME=${ANDROID_HOME}/.android/avd ENV ANDROID_USER_HOME=${ANDROID_HOME}/.android ENV PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/emulator ARG VERSION_SEABIOS="1.17.0-1" ARG VERSION_QEMU="1:11.1.0+ds-2" ARG DEBIAN_SNAPSHOT="20260819T142328Z" ARG VERSION_EFI="2026.05-2" RUN echo "deb https://deb.debian.org/debian trixie non-free" > /etc/apt/sources.list.d/non-free.list RUN apt-get update && apt-get install -y --no-install-recommends \ bc \ jq \ xxd \ tini \ wget \ 7zip \ 7zip-rar \ curl \ aria2 \ fdisk \ gnupg \ nginx \ unzip \ procps \ ipcalc \ ethtool \ python3 \ python3-pip \ iptables \ iproute2 \ dnsmasq \ xorriso \ pciutils \ xz-utils \ apt-utils \ net-tools \ e2fsprogs \ diffutils \ util-linux \ cpu-checker \ iputils-ping \ genisoimage \ inotify-tools \ netcat-openbsd \ ca-certificates \ && rm -rf /var/lib/apt/lists/* # Installation de SDK Android 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 # Installation des autres dépendances + DÉPENDANCES DE L'ÉMULATEUR 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 RUN apt-get install -y --no-install-recommends \ git \ openjdk-25-jdk-headless \ libstdc++6 \ make \ po-debconf \ zlib1g \ libglx-mesa0 \ dotnet-sdk-10.0 \ qemu-kvm \ libglu1-mesa \ libgl1 \ libglx0 \ libpulse0 \ libtinfo6 \ libx11-6 \ libxext6 \ libxi6 \ libxkbfile1 \ libxkbcommon0 \ libxkbcommon-x11-0 \ libxrender1 \ libxtst6 \ && rm -rf /var/lib/apt/lists/* RUN < /etc/apt/sources.list.d/qemu-snapshot.list apt-get update apt-get --no-install-recommends -y -t sid install \ "seabios=${VERSION_SEABIOS}" \ "qemu-utils=${VERSION_QEMU}" \ "qemu-efi-aarch64=${VERSION_EFI}" \ "qemu-system-arm=${VERSION_QEMU}" EOF # Installation du workload .NET Android RUN dotnet workload install android --skip-manifest-update # 4. Acceptation des licences et installation des composants RUN yes | sdkmanager --licenses \ && sdkmanager "platform-tools" \ "platforms;android-36" \ "build-tools;36.0.0" \ "emulator" \ "system-images;android-36;google_apis;x86_64" # 4b. AJOUT : Création pré-embarquée de l'AVD RUN mkdir -p ${ANDROID_USER_HOME} \ && echo "no" | avdmanager create avd \ -n postit_test_avd \ -k "system-images;android-36;google_apis;x86_64" \ -d "pixel" \ --force \ && chmod -R 777 ${ANDROID_USER_HOME} # 5. Installation du workload .NET Android RUN dotnet workload install android --skip-manifest-update WORKDIR /src CMD ["bash"]