xref: /aosp_15_r20/external/robolectric/.devcontainer/Dockerfile (revision e6ba16074e6af37d123cb567d575f496bf0a58ee)
1# Modified from https://github.com/iwahjoedi/android-devcontainer/blob/main/Image/Dockerfile
2ARG VARIENT="ubuntu-22.04"
3FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIENT}
4
5ENV DEVCONTAINER="true"
6
7RUN apt clean && apt-get update && export DEBIAN_FRONTEND=noninteractive \
8    && apt-get -y upgrade \
9    && apt-get -y install git \
10    && apt-get -y install clang cmake ninja-build pkg-config \
11    && apt-get -y install wget unzip \
12    && apt-get -y install openjdk-17-jdk \
13    && apt-get clean -y \
14    && rm -rf /var/lib/apt/lists/*
15
16ARG USERNAME=vscode
17
18USER $USERNAME
19
20RUN export HOME="/home/$USERNAME"
21ARG HOME="/home/$USERNAME"
22ENV ANDROID_HOME=/home/$USERNAME/Android/Sdk
23ENV ANDROID_SDK_ROOT=/home/$USERNAME/Android/Sdk
24ENV CMDLINE_HOME="${HOME}/Android/Sdk/cmdline-tools"
25ENV CMDLINE="${HOME}/Android/Sdk/cmdline-tools/cmdline-tools/bin"
26ENV ANDROID_SDK_ZIP_FILE_VERSION=11076708
27
28# setup flutter sdk
29ENV PATH=${PATH}:${ANDROID_HOME}/platform-tools
30ENV PATH=${PATH}:${ANDROID_HOME}/platforms
31ENV PATH=${PATH}:${ANDROID_HOME}/emulators
32ENV PATH=${PATH}:${CMDLINE_HOME}:${CMDLINE}
33
34RUN ls -la ~ && whoami && mkdir -pv ${CMDLINE_HOME} && cd ${CMDLINE_HOME} \
35    && wget https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_ZIP_FILE_VERSION}_latest.zip \
36    && unzip commandlinetools-linux-${ANDROID_SDK_ZIP_FILE_VERSION}_latest.zip \
37    && rm commandlinetools-linux-${ANDROID_SDK_ZIP_FILE_VERSION}_latest.zip
38
39RUN ls -la ${HOME}/ && ls -la ${CMDLINE_HOME} && echo ${CMDLINE_HOME} && chown -Rv $USERNAME:$USERNAME ${HOME}/Android/Sdk
40RUN chmod +r+w+x -Rv ${HOME}/Android/Sdk
41
42RUN yes | sdkmanager --licenses
43RUN yes | sdkmanager --install "build-tools;34.0.0"
44RUN yes | sdkmanager --install "platforms;android-21"
45RUN yes | sdkmanager --install "platforms;android-22"
46RUN yes | sdkmanager --install "platforms;android-23"
47RUN yes | sdkmanager --install "platforms;android-24"
48RUN yes | sdkmanager --install "platforms;android-25"
49RUN yes | sdkmanager --install "platforms;android-26"
50RUN yes | sdkmanager --install "platforms;android-27"
51RUN yes | sdkmanager --install "platforms;android-28"
52RUN yes | sdkmanager --install "platforms;android-29"
53RUN yes | sdkmanager --install "platforms;android-30"
54RUN yes | sdkmanager --install "platforms;android-31"
55RUN yes | sdkmanager --install "platforms;android-32"
56RUN yes | sdkmanager --install "platforms;android-33"
57RUN yes | sdkmanager --install "platforms;android-34"
58RUN yes | sdkmanager --install "platform-tools" "cmdline-tools;latest"