Introduction
We are going to use docker to create an environment with Android SDK. The following are the goals to achieve.
- The environment with Android SDK can be run in a Linux machine.
- The tests are run for the andoird apps in the container.
The current version of Java inside the container is openjdk version "1.8.0_191"
. If you want to install Java on your bare metal computer, you can check this page Java Environment Setup, but this is not required.
Install Docker
Please refer to this page Docker Related Resources to install Docker.
Start the Android SDK Container
- Create folders
mkdir -p android-sdk/sdk mkdir -p android-sdk/android mkdir -p android-sdk/gradle
- Goes to the created folder
cd android-sdk
- Pull Android SDK docker image
docker pull thyrlian/android-sdk
- Run the necessary steps to install SDK and Android emulator.
$ANDROID_HOME
in Android SDK Image is/opt/android-sdk
# copy the pre-downloaded SDK to the mounted 'sdk' directory
docker run -it --rm -v $(pwd)/sdk:/sdk thyrlian/android-sdk \
bash -c 'cp -a $ANDROID_HOME/. /sdk'
# Update SDK
docker run -it --rm -v $(pwd)/sdk:/opt/android-sdk thyrlian/android-sdk \
bash -c '/opt/android-sdk/tools/bin/sdkmanager --update'
# Download required SDK packages
docker run -it --rm -v $(pwd)/sdk:/opt/android-sdk thyrlian/android-sdk \
bash -c '/opt/android-sdk/tools/bin/sdkmanager "platform-tools" "platforms;android-29" "emulator"'
# Download emulator system image
docker run -it --rm -v $(pwd)/sdk:/opt/android-sdk thyrlian/android-sdk \
bash -c '/opt/android-sdk/tools/bin/sdkmanager "system-images;android-29;default;x86"'
- Start the Android SDK container
export APP_FOLDER="PATH_TO_YOUR_ANDROID_APP" docker run -it \ -v $(pwd)/sdk:/opt/android-sdk:rw \ -v $(pwd)/android:/root/.android:rw \ -v $(pwd)/gradle:/root/.gradle:rw \ -v $APP_FOLDER:/app \ --workdir /app \ thyrlian/android-sdk /bin/bash