diff options
| -rw-r--r-- | Dockerfile | 42 | ||||
| -rw-r--r-- | docker-compose.yml | 17 |
2 files changed, 59 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..608a73a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,42 @@ +FROM ubuntu:22.04 + +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install -y \ + openjdk-17-jdk \ + wget \ + unzip \ + git \ + curl \ + python3 \ + sudo \ + && rm -rf /var/lib/apt/lists/* + +ENV ANDROID_HOME=/opt/android-sdk +ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/34.0.0 + +WORKDIR /opt +RUN wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip \ + && unzip -q commandlinetools-linux-11076708_latest.zip -d android-sdk \ + && rm commandlinetools-linux-11076708_latest.zip \ + && mkdir -p /opt/android-sdk/cmdline-tools \ + && mv /opt/android-sdk/cmdline-tools /opt/android-sdk/cmdline-tools/latest + +RUN yes | /opt/android-sdk/cmdline-tools/latest/bin/sdkmanager --licenses \ + && /opt/android-sdk/cmdline-tools/latest/bin/sdkmanager \ + "platform-tools" \ + "platforms;android-34" \ + "build-tools;34.0.0" \ + "ndk;26.1.10909125" + +RUN groupadd -g 1000 builder \ + && useradd -u 1000 -g 1000 -m -s /bin/bash builder \ + && echo "builder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers + +WORKDIR /project +RUN chmod +x /project/gradlew + +RUN chown -R 1000:1000 /opt/android-sdk /project + +USER 1000:1000 + +CMD ["./gradlew", "build"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..5c4d515 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,17 @@ +services: + android-builder: + build: . + volumes: + - ./:/project + - gradle-cache:/home/builder/.gradle + - android-cache:/home/builder/.android + working_dir: /project + environment: + - ANDROID_HOME=/opt/android-sdk + - HOME=/home/builder + - USER=builder + command: ["./gradlew", "build"] + +volumes: + gradle-cache: + android-cache: |
