From 6729c645198eef93ceccd2cdb70bc73c25f192a5 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Wed, 26 Aug 2026 00:38:22 +0100 Subject: [PATCH 1/5] no libnatspec --- Dockerfile | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index ce9eff8..e049f00 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,8 +3,8 @@ FROM debian:12-slim # Éviter les invites interactives pendant l'installation ENV DEBIAN_FRONTEND=noninteractive ENV ANDROID_HOME=/opt/android-sdk -# 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 + +ENV PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/emulator RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ @@ -16,14 +16,13 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # 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 \ && 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 +# 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 && apt-get install -y --no-install-recommends \ @@ -34,17 +33,23 @@ RUN curl -fSsL -A "Mozilla/5.0" https://packages.microsoft.com/keys/microsoft.as po-debconf \ zlib1g \ dotnet-sdk-10.0 \ + qemu-kvm \ + libpulse0 \ + libglu1-mesa \ + libgl1-mesa-glx \ && rm -rf /var/lib/apt/lists/* -# 4. Acceptation des licences Android et installation des composants de base -# Prise en compte de votre demande pour Android 36 et build-tools 36.0.0 +# Acceptation des licences et installation des composants RUN yes | sdkmanager --licenses \ - && sdkmanager "platform-tools" "platforms;android-36" "build-tools;36.0.0" + && sdkmanager "platform-tools" \ + "platforms;android-36" \ + "build-tools;36.0.0" \ + "emulator" \ + "system-images;android-36;google_apis;x86_64" -# 5. Installation du workload .NET Android +# 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"] +CMD ["bash"] \ No newline at end of file From ac799e5577bb0b1b5d9ab789c56472df86271f76 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Wed, 26 Aug 2026 01:10:02 +0100 Subject: [PATCH 2/5] create a picel_test --- Dockerfile | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index e049f00..e346e5b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,7 +39,13 @@ RUN curl -fSsL -A "Mozilla/5.0" https://packages.microsoft.com/keys/microsoft.as libgl1-mesa-glx \ && rm -rf /var/lib/apt/lists/* -# Acceptation des licences et installation des composants +# Installation du workload .NET Android +RUN dotnet workload install android --skip-manifest-update + +# AJOUT CRITIQUE : Fixer l'emplacement des AVD dans le SDK pour qu'il soit partagé et accessible peu importe l'utilisateur de la CI +ENV ANDROID_USER_HOME=${ANDROID_HOME}/.android + +# 4. Acceptation des licences et installation des composants RUN yes | sdkmanager --licenses \ && sdkmanager "platform-tools" \ "platforms;android-36" \ @@ -47,9 +53,16 @@ RUN yes | sdkmanager --licenses \ "emulator" \ "system-images;android-36;google_apis;x86_64" -# Installation du workload .NET Android +# 4b. AJOUT : Création pré-embarquée de l'AVD +# Nous créons le dossier parent et appliquons des permissions larges (777) pour éviter les blocages de droits dans Forgejo +RUN mkdir -p ${ANDROID_USER_HOME} \ + && echo "no" | avdmanager create avd -n pixel_test -k "system-images;android-36;google_apis;x86_64" --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"] \ No newline at end of file From edc4f4175921c4ef42089c5b636bb4793ddc07d8 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Wed, 26 Aug 2026 03:53:38 +0100 Subject: [PATCH 3/5] avd renamed --- Dockerfile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index e346e5b..56fa700 100644 --- a/Dockerfile +++ b/Dockerfile @@ -54,11 +54,16 @@ RUN yes | sdkmanager --licenses \ "system-images;android-36;google_apis;x86_64" # 4b. AJOUT : Création pré-embarquée de l'AVD -# Nous créons le dossier parent et appliquons des permissions larges (777) pour éviter les blocages de droits dans Forgejo + RUN mkdir -p ${ANDROID_USER_HOME} \ - && echo "no" | avdmanager create avd -n pixel_test -k "system-images;android-36;google_apis;x86_64" --force \ + && 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 From 49850428fc9678e1a5d33c094c6a84601c6d0dd2 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Wed, 26 Aug 2026 04:11:01 +0100 Subject: [PATCH 4/5] use a smal screen size --- Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 56fa700..e9d1749 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM debian:12-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 PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/emulator RUN apt-get update && apt-get install -y --no-install-recommends \ @@ -63,11 +63,13 @@ RUN mkdir -p ${ANDROID_USER_HOME} \ --force \ && chmod -R 777 ${ANDROID_USER_HOME} +RUN sed -i 's/hw.lcd.height.*/hw.lcd.height=800/g' /root/.android/avd/pixel_test.avd/config.ini +RUN sed -i 's/hw.lcd.width.*/hw.lcd.width=480/g' /root/.android/avd/pixel_test.avd/config.ini +RUN sed -i 's/hw.lcd.density.*/hw.lcd.density=240/g' /root/.android/avd/pixel_test.avd/config.ini # 5. Installation du workload .NET Android RUN dotnet workload install android --skip-manifest-update - WORKDIR /src CMD ["bash"] \ No newline at end of file From e13f94f44b6a4df9c637ece0d9effb84c4a382b8 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Wed, 26 Aug 2026 04:33:00 +0100 Subject: [PATCH 5/5] did not work --- Dockerfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index e9d1749..89e12a4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -63,10 +63,6 @@ RUN mkdir -p ${ANDROID_USER_HOME} \ --force \ && chmod -R 777 ${ANDROID_USER_HOME} -RUN sed -i 's/hw.lcd.height.*/hw.lcd.height=800/g' /root/.android/avd/pixel_test.avd/config.ini -RUN sed -i 's/hw.lcd.width.*/hw.lcd.width=480/g' /root/.android/avd/pixel_test.avd/config.ini -RUN sed -i 's/hw.lcd.density.*/hw.lcd.density=240/g' /root/.android/avd/pixel_test.avd/config.ini - # 5. Installation du workload .NET Android RUN dotnet workload install android --skip-manifest-update