50 lines
1.3 KiB
Docker
50 lines
1.3 KiB
Docker
FROM ubuntu:22.04
|
|
|
|
# Prevent interactive prompts
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
curl \
|
|
wget \
|
|
unzip \
|
|
git \
|
|
openjdk-17-jdk \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Set up Android SDK
|
|
ENV ANDROID_HOME=/opt/android-sdk
|
|
ENV ANDROID_SDK_ROOT=/opt/android-sdk
|
|
ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools
|
|
|
|
# Download and install Android SDK command line tools
|
|
RUN mkdir -p $ANDROID_HOME/cmdline-tools && \
|
|
cd $ANDROID_HOME/cmdline-tools && \
|
|
wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O cmdline-tools.zip && \
|
|
unzip cmdline-tools.zip && \
|
|
mv cmdline-tools latest && \
|
|
rm cmdline-tools.zip
|
|
|
|
# Accept licenses and install required SDK components
|
|
RUN yes | sdkmanager --licenses && \
|
|
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"
|
|
|
|
# Copy the Android project
|
|
WORKDIR /app
|
|
COPY android-chunyu/ .
|
|
|
|
# Make gradlew executable
|
|
RUN chmod +x gradlew
|
|
|
|
# Build the debug APK
|
|
RUN ./gradlew assembleDebug --no-daemon
|
|
|
|
# Copy APK to expected location
|
|
RUN mkdir -p /output && \
|
|
cp app/build/outputs/apk/debug/app-debug.apk /output/ && \
|
|
echo "APK built successfully!" && \
|
|
ls -la /output/
|
|
|
|
# Output APK location
|
|
VOLUME ["/output"]
|