Compare commits
1 commit
chore/read
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 1b56eb6041 |
2 changed files with 15 additions and 102 deletions
119
Dockerfile
119
Dockerfile
|
|
@ -1,137 +1,50 @@
|
||||||
FROM debian:13-slim
|
FROM debian:12-slim
|
||||||
|
|
||||||
# Éviter les invites interactives pendant l'installation
|
# Éviter les invites interactives pendant l'installation
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
ENV ANDROID_HOME=/opt/android-sdk
|
ENV ANDROID_HOME=/opt/android-sdk
|
||||||
ENV ANDROID_AVD_HOME=${ANDROID_HOME}/.android/avd
|
# CORRECTION : Le PATH ne contient que des dossiers (pas le fichier de destination final)
|
||||||
ENV ANDROID_USER_HOME=${ANDROID_HOME}/.android
|
ENV PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools
|
||||||
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 \
|
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 \
|
ca-certificates \
|
||||||
|
wget \
|
||||||
|
curl \
|
||||||
|
gnupg \
|
||||||
|
unzip \
|
||||||
|
jq \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Installation de SDK Android
|
# Installation de SDK Android
|
||||||
|
# CORRECTION : Création de la structure correcte exigée par Google (cmdline-tools/latest)
|
||||||
RUN mkdir -p ${ANDROID_HOME}/cmdline-tools \
|
RUN mkdir -p ${ANDROID_HOME}/cmdline-tools \
|
||||||
&& wget -O /tmp/sdk-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip \
|
&& 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 \
|
&& unzip /tmp/sdk-tools.zip -d ${ANDROID_HOME}/cmdline-tools \
|
||||||
&& mv ${ANDROID_HOME}/cmdline-tools/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest \
|
&& mv ${ANDROID_HOME}/cmdline-tools/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest \
|
||||||
&& rm /tmp/sdk-tools.zip
|
&& rm /tmp/sdk-tools.zip
|
||||||
|
|
||||||
# Installation des autres dépendances + DÉPENDANCES DE L'ÉMULATEUR
|
# 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 \
|
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 \
|
&& 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 update && apt-get install -y --no-install-recommends \
|
||||||
RUN apt-get install -y --no-install-recommends \
|
|
||||||
git \
|
git \
|
||||||
openjdk-21-jdk-headless \
|
openjdk-17-jdk-headless \
|
||||||
libstdc++6 \
|
libstdc++6 \
|
||||||
make \
|
make \
|
||||||
po-debconf \
|
po-debconf \
|
||||||
zlib1g \
|
zlib1g \
|
||||||
libglx-mesa0 \
|
|
||||||
dotnet-sdk-10.0 \
|
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/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# 4. Acceptation des licences Android et installation des composants de base
|
||||||
RUN <<EOF
|
# Prise en compte de votre demande pour Android 36 et build-tools 36.0.0
|
||||||
# Install QEMU 11 and AArch64 UEFI firmware from Debian Sid
|
|
||||||
echo "deb [check-valid-until=no] https://snapshot.debian.org/archive/debian/${DEBIAN_SNAPSHOT}/ sid main" \
|
|
||||||
> /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
|
|
||||||
|
|
||||||
ENV QT_QPA_PLATFORM=offscreen
|
|
||||||
ENV ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
|
|
||||||
ENV ANDROID_SDK_ROOT=${ANDROID_HOME}
|
|
||||||
|
|
||||||
# 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 \
|
RUN yes | sdkmanager --licenses \
|
||||||
&& sdkmanager "platform-tools" \
|
&& sdkmanager "platform-tools" "platforms;android-36" "build-tools;36.0.0"
|
||||||
"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
|
# 5. Installation du workload .NET Android
|
||||||
RUN dotnet workload install android --skip-manifest-update
|
RUN dotnet workload install android --skip-manifest-update
|
||||||
|
|
||||||
|
# Définition du répertoire de travail par défaut
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
|
||||||
CMD ["bash"]
|
CMD ["bash"]
|
||||||
|
|
@ -35,5 +35,5 @@ Le `runner.labels` du runner doit pointer sur le bon tag pour que
|
||||||
les jobs `runs-on: docker` le pull. Format :
|
les jobs `runs-on: docker` le pull. Format :
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
docker:docker://pazof/yavsc-build-env:debian13-dotnet10-android36-v<N>
|
docker:docker://pazof/yavsc-build-env:debian12-dotnet10-android36-v<N>
|
||||||
```
|
```
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue