-
-
Save ken0x0a/ddc4e261628b53bd8e8850eeeeca8ac2 to your computer and use it in GitHub Desktop.
Dockerfile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM gradle:latest | |
# FROM openjdk:8-jre-alpine | |
USER root | |
# RUN apk --no-cache add curl | |
ENV SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip" \ | |
ANDROID_HOME="/usr/local/android-sdk" \ | |
ANDROID_VERSION=28 \ | |
ANDROID_BUILD_TOOLS_VERSION=29.0.2 | |
# 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 touch $ANDROID_HOME/.android/repositories.cfg | |
RUN echo y | $ANDROID_HOME/tools/bin/sdkmanager --update | |
RUN echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \ | |
"platforms;android-${ANDROID_VERSION}" \ | |
"platform-tools" | |
# RUN echo y | $ANDROID_HOME/tools/bin/sdkmanager "system-images;android-${ANDROID_VERSION};google_apis_playstore;x86" | |
# RUN echo no | $ANDROID_HOME/tools/bin/avdmanager create avd -n emulator -k "system-images;android-${ANDROID_VERSION};google_apis_playstore;x86" | |
# RUN curl --silent https://raw.githubusercontent.com/travis-ci/travis-cookbooks/0f497eb71291b52a703143c5cd63a217c8766dc9/community-cookbooks/android-sdk/files/default/android-wait-for-emulator --output ~/android-wait-for-emulator | |
# RUN chmod +x ~/android-wait-for-emulator | |
# Install Build Essentials | |
# RUN apt-get update && apt-get install build-essential -y && apt-get install file -y && apt-get install apt-utils -y | |
# RUN echo y | $ANDROID_HOME/tools/bin/sdkmanager "system-images;android-${ANDROID_VERSION};google_apis_playstore;x86_64" | |
# RUN echo no | $ANDROID_HOME/tools/bin/avdmanager create avd -n emulator -k "system-images;android-${ANDROID_VERSION};google_apis_playstore;x86_64" | |
# RUN dpkg --add-architecture i386 | |
RUN apt-get update | |
RUN echo Y | apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils ia32-libs-multiarch file git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip | |
RUN echo y | $ANDROID_HOME/tools/bin/sdkmanager "system-images;android-${ANDROID_VERSION};google_apis_playstore;x86" | |
RUN echo no | $ANDROID_HOME/tools/bin/avdmanager create avd -n testdevice -k "system-images;android-${ANDROID_VERSION};google_apis_playstore;x86" -g "google_apis_playstore" | |
RUN $ANDROID_HOME/tools/bin/avdmanager list avd | |
# RUN $ANDROID_HOME/emulator-headless -avd testdevice -no-window -no-audio & | |
## Commands | |
docker build -t android-build:android-gradle . | |
docker run --rm -v "$PWD":/Users/xdeepakv/LearnAndShare/learn-kotlin/basic_app -w /Users/xdeepakv/LearnAndShare/learn-kotlin/basic_app/app android-build:android-gradle gradle runInstTest | |
curl --silent https://raw.githubusercontent.com/travis-ci/travis-cookbooks/0f497eb71291b52a703143c5cd63a217c8766dc9/community-cookbooks/android-sdk/files/default/android-wait-for-emulator --output ~/android-wait-for-emulator | |
chmod +x ~/android-wait-for-emulator | |
export ANDROID_BUILD_TOOLS_VERSION=28.0.3 | |
export ANDROID_VERSION=28 | |
export LD_LIBRARY_PATH=$ANDROID_HOME/tools/lib:$LD_LIBRARY_PATH | |
export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin/:$PATH | |
SDK_TYPE="system-images;android-27;google_apis_playstore;x86" | |
# echo y | sdkmanager $SDK_TYPE | |
# echo no | avdmanager create avd -n testdevice -k $SDK_TYPE -g "google_apis_playstore" | |
avdmanager list avd | |
# mv $ANDROID_HOME/emulator/qemu/linux-x86_64/qemu-system-x86_64 | |
# avdmanager delete avd -n testdevice | |
# emulator -avd testdevice -no-window -no-audio & # run headless "test" AVD | |
# echo y | $ANDROID_HOME/tools/bin/sdkmanager "system-images;android-${ANDROID_VERSION};google_apis_playstore;x86_64" | |
kvm-ok | |
echo no | $ANDROID_HOME/tools/bin/avdmanager create avd -n testdevice1 -k "system-images;android-${ANDROID_VERSION};google_apis_playstore;x86_64" -g "google_apis_playstore" | |
emulator -avd testdevice1 -no-window -no-audio & | |
~/android-wait-for-emulator | |
adb shell input keyevent 82 # some dummy input | |
gradle -PdisablePreDex clean | |
# avdmanager delete avd -n testdevice |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment