FROM gradle:8.2.1-jdk17-focal # Install Git and dependencies RUN apt-get update \ && apt-get install -y file git curl zip \ && apt-get clean \ && rm -rf /var/lib/apt/lists /var/cache/apt RUN curl -L -o node.tar.gz "https://nodejs.org/dist/v22.4.1/node-v22.4.1-linux-x64.tar.gz" && \ tar -xzf node.tar.gz -C /usr/local --strip-components=1 && \ rm node.tar.gz && \ ln -s /usr/local/bin/node /usr/local/bin/nodejs # Set up environment variables ENV ANDROID_SDK_ROOT="/home/user/android-sdk-linux" \ SDK_URL="https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip" # Create a non-root user RUN useradd -m user USER user WORKDIR /home/user # Download Android SDK RUN mkdir "$ANDROID_SDK_ROOT" .android WORKDIR $ANDROID_SDK_ROOT RUN pwd RUN mkdir cmdline-tools WORKDIR "$ANDROID_SDK_ROOT/cmdline-tools" RUN curl -o sdk.zip $SDK_URL RUN unzip sdk.zip RUN rm sdk.zip RUN mv cmdline-tools latest WORKDIR "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin" RUN ls -laF RUN pwd RUN yes | $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --licenses # Install Android Build Tool and Libraries RUN $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --update RUN $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --verbose \ "build-tools;34.0.0" \ "build-tools;30.0.3" \ "platforms;android-34" \ "platform-tools" RUN yes | $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --licenses; RUN node -v RUN npm -v