mirror of
				https://github.com/ImranR98/Obtainium.git
				synced 2025-11-04 07:13:28 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
FROM ubuntu:22.04
 | 
						|
 | 
						|
ENV DEBIAN_FRONTEND noninteractive
 | 
						|
ENV ANDROID_SDK_ROOT /opt/android-sdk-linux
 | 
						|
ENV PATH "${PATH}:/opt/flutter/bin:/root/.pub-cache/bin:${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:/opt/android-sdk-linux/platform-tools"
 | 
						|
 | 
						|
ENV HOME=/root
 | 
						|
 | 
						|
# Prereqs
 | 
						|
RUN \
 | 
						|
    apt-get update &&\
 | 
						|
    apt-get install -y --no-install-recommends \
 | 
						|
        bash \
 | 
						|
        curl \
 | 
						|
        file \
 | 
						|
        git 2.x \
 | 
						|
        unzip \
 | 
						|
        xz-utils \
 | 
						|
        zip \
 | 
						|
        libglu1-mesa \
 | 
						|
        libxi-dev \
 | 
						|
        libxmu-dev \
 | 
						|
        libglu1-mesa-dev \
 | 
						|
        git-lfs \
 | 
						|
        openssl \
 | 
						|
        wget
 | 
						|
 | 
						|
# Build prereqs
 | 
						|
RUN \
 | 
						|
    apt-get install -y \
 | 
						|
        cmake curl git wget unzip libgconf-2-4 gdb libstdc++6 libglu1-mesa fonts-droid-fallback lib32stdc++6 python3 sed \
 | 
						|
        cmake ninja-build build-essential libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev clang pkg-config libgtk-3-dev \
 | 
						|
        liblzma-dev libmount-dev libblkid-dev libgcrypt20-dev libgpg-error-dev libssl-dev libpng-dev libjpeg-dev \
 | 
						|
        libtiff-dev libgif-dev libgtk-3-dev
 | 
						|
 | 
						|
# Android SDK prequisites
 | 
						|
# https://developer.android.com/studio#command-tools
 | 
						|
RUN \
 | 
						|
    apt-get install -y --no-install-recommends \
 | 
						|
        git \
 | 
						|
        git-lfs \
 | 
						|
        openssl \
 | 
						|
        wget \
 | 
						|
        unzip
 | 
						|
 | 
						|
# Android SDK
 | 
						|
RUN \
 | 
						|
    wget --quiet  https://dl.google.com/android/repository/commandlinetools-linux-13114758_latest.zip -O /tmp/tools.zip && \
 | 
						|
    mkdir -p ${ANDROID_SDK_ROOT}/cmdline-tools && \
 | 
						|
    unzip -q /tmp/tools.zip -d ${ANDROID_SDK_ROOT}/cmdline-tools && \
 | 
						|
    mv ${ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools ${ANDROID_SDK_ROOT}/cmdline-tools/latest && \
 | 
						|
    rm -v /tmp/tools.zip && \
 | 
						|
    mkdir -p /root/.android/ && touch /root/.android/repositories.cfg &&\
 | 
						|
    apt-get install -y --no-install-recommends openjdk-21-jdk openjdk-21-jre &&\
 | 
						|
    yes | sdkmanager --licenses &&\
 | 
						|
    sdkmanager --update
 | 
						|
 | 
						|
    # Platform tools
 | 
						|
# Get latest with sdkmanager --list
 | 
						|
RUN sdkmanager --install "build-tools;33.0.1"
 | 
						|
RUN sdkmanager --install "ndk;26.3.11579264"
 | 
						|
RUN sdkmanager --install "cmake;4.0.2"
 | 
						|
RUN sdkmanager --install platform-tools
 | 
						|
RUN sdkmanager --install emulator
 | 
						|
RUN sdkmanager --install tools
 | 
						|
RUN sdkmanager --install "platforms;android-28"
 | 
						|
RUN sdkmanager --install "platforms;android-31"
 | 
						|
RUN sdkmanager --install "platforms;android-32"
 | 
						|
RUN sdkmanager --install "platforms;android-33"
 | 
						|
RUN sdkmanager --install "platforms;android-34"
 | 
						|
RUN sdkmanager --install "platforms;android-35"
 | 
						|
 | 
						|
# Flutter
 | 
						|
ARG DEV_UID=0
 | 
						|
RUN \
 | 
						|
    wget --quiet https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.29.3-stable.tar.xz -O /tmp/flutter.tar.xz &&\
 | 
						|
    mkdir -p /opt &&\
 | 
						|
    cd /opt &&\
 | 
						|
    tar xf /tmp/flutter.tar.xz &&\
 | 
						|
    rm /tmp/flutter.tar.xz &&\
 | 
						|
    git config --global --add safe.directory /opt/flutter &&\
 | 
						|
    dart pub global activate cider &&\
 | 
						|
    chown -R ${DEV_UID} /opt/flutter
 | 
						|
RUN flutter --disable-analytics
 | 
						|
RUN flutter upgrade
 | 
						|
RUN chmod a+w /opt/flutter/packages -R
 |