#!/bin/bash # from https://gitlab.com/fdroid/fdroidclient 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 init.svc.bootanim 2>&1 | grep -v '^\*') if [[ "$out" =~ "command not found" ]]; then err "$out" fi if [[ "$out" =~ "stopped" ]]; 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"