Skip to content

Instantly share code, notes, and snippets.

@martinvol
Created October 15, 2019 10:12
Show Gist options
  • Save martinvol/ae4115c280cc178b3a38839785afa62b to your computer and use it in GitHub Desktop.
Save martinvol/ae4115c280cc178b3a38839785afa62b to your computer and use it in GitHub Desktop.
Build Android app inside a Docker Container
FROM gradle:4.10.0-jdk8
USER root
ENV SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip" \
ANDROID_HOME="/usr/local/android-sdk" \
ANDROID_VERSION=25 \
ANDROID_BUILD_TOOLS_VERSION=27.0.3 \
ANDROID_ABI=armeabi-v7a \
AVD_NAME=Nexus_5X_API_28
# Download Android SDK
RUN mkdir "$ANDROID_HOME" .android \
&& cd "$ANDROID_HOME" \
&& curl -o sdk.zip $SDK_URL \
&& unzip sdk.zip \
&& rm sdk.zip \
&& mkdir "$ANDROID_HOME/licenses" || true \
&& echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"
# && yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses
# Install Android Build Tool and Libraries
RUN $ANDROID_HOME/tools/bin/sdkmanager --update
RUN $ANDROID_HOME/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
"platforms;android-${ANDROID_VERSION}" \
"platform-tools"
# Install Build Essentials
RUN apt-get update && apt-get install build-essential -y && apt-get install file -y && apt-get install apt-utils -y
# emulator
RUN apt-get install libgl1-mesa-dev android-tools-adb y
$ANDROID_HOME/tools/bin/sdkmanager --list --verbose
RUN echo y | $ANDROID_HOME/tools/bin/sdkmanager "system-images;android-$ANDROID_VERSION;google_apis;$ANDROID_ABI"
echo y | $ANDROID_HOME/tools/bin/sdkmanager "system-images;android-29;default;x86_64"
echo "no" | $ANDROID_HOME/tools/bin/avdmanager --verbose create avd --force --name Nexus_5X_API_28 --device "4in WVGA (Nexus S)" --package "system-images;android-29;default;x86_64" --tag default --abi x86_64
# $HOME/android-sdk/tools/bin/sdkmanager "system-images;android-$ANDROID_EMU_API_LEVEL;default;$ANDROID_ABI" > /dev/null
RUN echo "no" | $ANDROID_HOME/tools/bin/avdmanager --verbose create avd --force --name Nexus_5X_API_28 --device "4in WVGA (Nexus S)" --package "system-images;android-$ANDROID_VERSION;google_apis;$ANDROID_ABI" --tag "google_apis" --abi $ANDROID_ABI
RUN $ANDROID_HOME/tools/emulator -avd Nexus_5X_API_28 -no-window -no-boot-anim &
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment