dockerfiles/Dockerfile.android-builder-base-java-11
FROM openjdk:11-jdk-bullseye
# OS setup
RUN apt-get update && apt-get install -y gradle jq git-core build-essential openssl libssl-dev
# Android tools
WORKDIR /sdk
RUN wget https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip -q
RUN unzip -q commandlinetools-linux-8512546_latest.zip
RUN rm commandlinetools-linux-8512546_latest.zip
RUN cd cmdline-tools \
&& mkdir tools \
&& ln -s tools latest \
&& mv lib bin source.properties tools
ENV ANDROID_HOME=/sdk
ENV PATH="${PATH}:/sdk/cmdline-tools/tools:/sdk/cmdline-tools/tools/bin"
RUN yes | sdkmanager "platform-tools" "build-tools;28.0.3"
RUN yes | sdkmanager "platform-tools" "build-tools;33.0.0"
ENV PATH="${PATH}:/sdk/platform-tools"
ENV ANDROID_HOME="/sdk/"
ENV GRADLE_OPTS="-Dorg.gradle.daemon=false"
# Pre-download Gradle
ENV GRADLE_USER_HOME="/app/gradle"
WORKDIR /app/gradle
# TODO: Not convinced this is actually saving repeat downloads as it is intended to do
RUN wget -q https://services.gradle.org/distributions/gradle-5.1.1-all.zip \
https://services.gradle.org/distributions/gradle-5.4.1-all.zip \
https://services.gradle.org/distributions/gradle-6.2-all.zip
RUN ln -s /sdk/build-tools/33.0.0/d8 /sdk/build-tools/33.0.0/dx \
&& ln -s /sdk/build-tools/33.0.0/lib/d8.jar /sdk/build-tools/33.0.0/lib/dx.jar