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
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
|