Skip to content

Instantly share code, notes, and snippets.

@adisiji
Last active March 1, 2019 08:51
Show Gist options
  • Save adisiji/4586737e786ff95734090478e7c242d0 to your computer and use it in GitHub Desktop.
Save adisiji/4586737e786ff95734090478e7c242d0 to your computer and use it in GitHub Desktop.
Android Wait For Emulator v28
#!/bin/bash
sec=0
timeout=360
err() {
echo "$@"
exit 1
}
explain() {
if [[ "$1" =~ "not found" ]]; then
printf "device not found"
elif [[ "$1" =~ "offline" ]]; then
printf "device offline"
elif [[ "$1" =~ "running" ]]; then
printf "booting"
else
printf "$1"
fi
}
while true; do
if [[ $sec -ge $timeout ]]; then
err "Timeout ($timeout seconds) reached - Failed to start emulator"
fi
out=$(adb -e shell getprop sys.boot_completed | grep -v '^\*')
if [[ "$out" =~ "command not found" ]]; then
err "$out"
fi
if [[ "$out" =~ "1" ]]; then
break
fi
let "r = sec % 5"
if [[ $r -eq 0 ]]; then
echo "Waiting for emulator to start: $(explain "$out")"
fi
sleep 1
let "sec++"
done
echo "Emulator is ready"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment