aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile42
1 files changed, 42 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"]