Skip to content

Instantly share code, notes, and snippets.

@paulonteri
Forked from nhtua/00.install-android-sdk.sh
Last active February 11, 2021 17:20
Show Gist options
  • Save paulonteri/cab4a7a98cdfa9f7f78aed62264cd9f7 to your computer and use it in GitHub Desktop.
Save paulonteri/cab4a7a98cdfa9f7f78aed62264cd9f7 to your computer and use it in GitHub Desktop.
Run a Headless Android Device on Ubuntu server (no GUI)
#!/bin/bash -i
#using shebang with -i to enable interactive mode (auto load .bashrc)
set -e #stop immediately if any error happens
# Install Open SDK
apt update
apt install openjdk-8-jdk -y
update-java-alternatives --set java-1.8.0-openjdk-amd64
java -version
# Install SDK Manager
# you can find this file at https://developer.android.com/studio/index.html#downloads - section command line only
cd ~ && wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
ANDROID_HOME=/opt/androidsdk
mkdir -p $ANDROID_HOME
apt install unzip -y && unzip sdk-tools-linux-4333796.zip -d $ANDROID_HOME
echo "export ANDROID_HOME=$ANDROID_HOME" >> ~/.bashrc
echo 'export SDK=$ANDROID_HOME' >> ~/.bashrc
echo 'export PATH=$SDK/emulator:$SDK/tools:$SDK/tools/bin:$SDK/platform-tools:$PATH' >> ~/.bashrc
source ~/.bashrc
# Install Android Image version 28
yes | sdkmanager "platform-tools" "system-images;android-25;google_apis;armeabi-v7a" "emulator"
yes | sdkmanager "system-images;android-25;google_apis;armeabi-v7a"
emulator -version
echo "INSTALL ANDROID SDK DONE!"
echo "run 01.emulator-up.sh [new device name] to start emulator"
#!/bin/bash -i
#using shebang with -i to enable interactive mode (auto load .bashrc)
#this script was inspired from https://docs.travis-ci.com/user/languages/android/
set -e #stop immediately if any error happens
avd_name=$1
if [[ -z "$avd_name" ]]; then
avd_name="avd28"
fi
# check if emulator work well
emulator -version
# stop emulators
adb devices | grep emulator | cut -f1 | while read line; do adb -s $line emu kill; done
# download script thalt helps in telling if emulator has started
# https://raw.githubusercontent.com/travis-ci/travis-cookbooks/master/community-cookbooks/android-sdk/files/default/android-wait-for-emulator
wget --quiet --output-document=android-wait-for-emulator https://raw.githubusercontent.com/travis-ci/travis-cookbooks/0f497eb71291b52a703143c5cd63a217c8766dc9/community-cookbooks/android-sdk/files/default/android-wait-for-emulator
chmod +x android-wait-for-emulator
# create virtual device, default using (API Level 25)
echo no | avdmanager create avd -f -n avd28 -k "system-images;android-25;google_apis;armeabi-v7a"
# start the emulator
emulator -avd avd28 -no-audio -no-window -no-boot-anim & ./android-wait-for-emulator
# show connected virtual device(s)
adb devices
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment