You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

60 lines
2.2 KiB

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