FROM debian:bookworm-slim AS builder # need git, openjdk and android sdk RUN apt-get update && apt-get install -y git openjdk-17-jdk-headless sdkmanager # get required android sdk RUN sdkmanager "build-tools;30.0.3" "platforms;android-33" # accept licenses for android sdk RUN yes | sdkmanager --licenses WORKDIR /home # create a debug keystore for signing apk RUN keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=Android Debug,O=Android,C=US" # copy source code COPY . /home/little-music-player # enter project folder WORKDIR /home/little-music-player # create a keystore.properties file in the PARENT DIRECTORY of little-file-explorer RUN echo "\ storePassword=android\n\ keyPassword=android\n\ keyAlias=androiddebugkey\n\ storeFile=/home/debug.keystore\ " > keystore.properties # run the gradlew wrapper to build apk RUN chmod 700 ./gradlew RUN ANDROID_HOME=/opt/android-sdk ./gradlew assembleDebug --no-daemon --console=plain FROM scratch AS output COPY --from=builder /home/little-music-player/app/build/outputs/apk/debug/app-debug.apk .