Android-studio / Dockerfile
proti0070's picture
Update Dockerfile
daaa324 verified
raw
history blame
2.44 kB
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
ENV HOSTNAME=xro
ENV ANDROID_SDK_ROOT=/opt/android-sdk
ENV ANDROID_HOME=/opt/android-sdk
ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:/opt/android-studio/bin
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
# -----------------------------
# Base packages
# -----------------------------
RUN apt-get update && apt-get install -y \
ca-certificates \
curl \
wget \
git \
sudo \
htop \
neovim \
nano \
lsof \
tmux \
unzip \
zip \
python3 \
python3-pip \
openjdk-17-jdk \
&& rm -rf /var/lib/apt/lists/*
# -----------------------------
# Android SDK cmdline-tools
# -----------------------------
RUN mkdir -p /opt/android-sdk/cmdline-tools && \
wget -t 5 -T 30 -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O /tmp/cmdtools.zip && \
unzip /tmp/cmdtools.zip -d /opt/android-sdk/cmdline-tools && \
mv /opt/android-sdk/cmdline-tools/cmdline-tools /opt/android-sdk/cmdline-tools/latest && \
rm /tmp/cmdtools.zip
# Accept SDK licenses
RUN yes | sdkmanager --licenses
# Install SDK + old platforms for ARM/legacy devices
RUN sdkmanager \
"platform-tools" \
"platforms;android-34" \
"platforms;android-30" \
"platforms;android-28" \
"platforms;android-26" \
"platforms;android-24" \
"platforms;android-21" \
"build-tools;34.0.0" \
"build-tools;30.0.3" \
"build-tools;28.0.3" \
"ndk;26.1.10909125" \
"ndk;23.2.8568313" \
"cmake;3.22.1"
# -----------------------------
# Android Studio
# -----------------------------
RUN wget -t 5 -T 30 -q https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2023.3.1.18/android-studio-2023.3.1.18-linux.tar.gz -O /tmp/android-studio.tar.gz && \
tar -xzf /tmp/android-studio.tar.gz -C /opt/ && \
rm /tmp/android-studio.tar.gz
# -----------------------------
# Projector installer
# -----------------------------
RUN pip install projector-installer
# Install Android Studio in Projector non-interactive mode
RUN printf "y\n" | projector install android-studio --ide Idea_Community --quick --accept-license
# -----------------------------
# Workspace
# -----------------------------
WORKDIR /workspace
# Copy start script
COPY start.sh /start.sh
RUN chmod +x /start.sh
# Expose Projector default port
EXPOSE 7860
CMD ["/start.sh"]