FROM docker.io/debian:12-slim AS build ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update \ && apt-get install -y --no-install-recommends \ ca-certificates \ curl \ sdkmanager \ xz-utils \ && rm -rf /var/lib/apt/lists/* # https://docs.flutter.dev/release/archive RUN curl https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.27.3-stable.tar.xz \ | tar --no-same-owner -C /opt/ -xJ # https://developer.android.com/tools/releases/build-tools RUN sdkmanager \ "build-tools;34.0.0" \ "cmdline-tools;9.0" \ "platform-tools" \ "platforms;android-33" \ "platforms;android-34" \ "platforms;android-35" # https://gradle.org/releases/ RUN curl -Lo /gradle.zip \ 'https://services.gradle.org/distributions/gradle-8.12.1-bin.zip' FROM docker.io/debian:12-slim ENV DEBIAN_FRONTEND=noninteractive RUN touch /.dockerenv RUN apt-get update \ && apt-get install -y --no-install-recommends \ curl \ git \ openjdk-17-jdk-headless \ unzip \ && rm -rf /var/lib/apt/lists/* COPY --from=build /opt/ /opt/ ENV GRADLE_ZIP=/gradle.zip COPY --from=build /gradle.zip "$GRADLE_ZIP" ENV PATH="/opt/flutter/bin:$PATH" RUN flutter config --android-sdk /opt/android-sdk/ RUN flutter precache --android RUN yes | flutter doctor --android-licenses COPY entrypoint.sh /usr/local/bin/ WORKDIR /app/ ENTRYPOINT ["entrypoint.sh"] CMD ["build", "apk"]