googlesamples-easypermissions
SUCCESS
11m 14s
History Source
SummaryIterations1Transcript7Dockerfile
Dockerfile37 lines · 1563 chars
FROM gradle:latest

# Install dependencies (Android SDK is required for Android projects). We'll install OpenJDK 8 and Android CLI tools.
RUN apt-get update && \
    apt-get install -y --no-install-recommends curl ca-certificates unzip git openjdk-8-jdk && \
    rm -rf /var/lib/apt/lists/*

ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
ENV PATH="$PATH:${JAVA_HOME}/bin"

# Android SDK setup
ENV ANDROID_SDK_ROOT=/opt/android-sdk
RUN mkdir -p ${ANDROID_SDK_ROOT}/cmdline-tools && \
    mkdir -p ${ANDROID_SDK_ROOT}/platform-tools && \
    curl -fsSL https://dl.google.com/android/repository/commandlinetools-linux-8092744_latest.zip -o /tmp/commandlinetools.zip && \
    unzip -q /tmp/commandlinetools.zip -d ${ANDROID_SDK_ROOT}/cmdline-tools/ && \
    rm /tmp/commandlinetools.zip && \
    mv ${ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools ${ANDROID_SDK_ROOT}/cmdline-tools/latest && \
    yes | ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} "platform-tools" "platforms;android-29" "build-tools;29.0.3" && \
    mkdir -p ${ANDROID_SDK_ROOT}/licenses

ENV PATH="$PATH:${ANDROID_SDK_ROOT}/platform-tools:${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin"

WORKDIR /workspace
COPY . /workspace

RUN chmod +x gradlew

# Accept licenses (non-interactive)
RUN mkdir -p ${ANDROID_SDK_ROOT}/licenses && yes | ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --licenses || true

# Build the project from source
RUN ./gradlew clean assembleDebug

# Default to a shell so users can run commands if they want
CMD ["/bin/bash"]