FROM ubuntu:22.04 # Create user RUN useradd -m -s /bin/bash vscode && usermod -aG sudo vscode RUN echo "vscode ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # Install basics + OpenCV dev packages RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ curl wget git unzip zip \ openjdk-17-jdk \ python3 python3-pip \ gcc g++ cmake build-essential \ pkg-config \ libopencv-dev \ python3-opencv \ && rm -rf /var/lib/apt/lists/* # Install Gradle (updated to latest) ENV GRADLE_VERSION=8.8 RUN wget -q https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip \ && unzip gradle-${GRADLE_VERSION}-bin.zip -d /opt/ \ && ln -s /opt/gradle-${GRADLE_VERSION} /opt/gradle \ && rm gradle-${GRADLE_VERSION}-bin.zip ENV GRADLE_HOME=/opt/gradle ENV PATH=$PATH:$GRADLE_HOME/bin # Set Java 17 as default (updated from Java 11) ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 # Install Android SDK (updated command line tools) ENV ANDROID_HOME=/opt/android-sdk RUN mkdir -p $ANDROID_HOME/cmdline-tools \ && wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip \ && unzip commandlinetools-linux-*_latest.zip -d $ANDROID_HOME/cmdline-tools/ \ && mv $ANDROID_HOME/cmdline-tools/cmdline-tools $ANDROID_HOME/cmdline-tools/latest \ && rm commandlinetools-linux-*_latest.zip ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools # Accept licenses and install packages (updated versions) RUN yes | sdkmanager --licenses \ && sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0" "ndk;26.1.10909125" # Install OpenCV for Android (updated to latest version) RUN mkdir -p /opt/opencv \ && cd /opt/opencv \ && wget -q https://github.com/opencv/opencv/releases/download/4.10.0/opencv-4.10.0-android-sdk.zip \ && unzip opencv-4.10.0-android-sdk.zip \ && rm opencv-4.10.0-android-sdk.zip \ && mv OpenCV-android-sdk opencv-android ENV OPENCV_ANDROID_SDK=/opt/opencv/opencv-android ENV ANDROID_NDK_HOME=$ANDROID_HOME/ndk/26.1.10909125 # Set permissions RUN chown -R vscode:vscode $ANDROID_HOME /opt/opencv /opt/gradle USER vscode WORKDIR /workspace