Часто - особенно на медленных машинах, использующих эмуляции, потребляющие ЦП, эмулятор изначально загружается в состояние, в котором отображается предупреждение System UI isn't responding
.Это не обязательно означает, что устройство не работает;Достаточно часто предупреждение можно отклонить, и с этого момента устройство будет полностью работоспособным.
Я не уверен, что именно здесь нужно решить. Тем не менее, предполагая, что вывы работаете на CI и, помимо медлительности эмулятора, хотите преодолеть предупреждение System UI isn't responding
, появляющееся после завершения загрузки (как указано в заголовке), - могу я предложить этот скрипт bash (gist) :
#!/bin/bash
echo ""
echo "[Waiting for launcher to start]"
LAUNCHER_READY=
while [[ -z ${LAUNCHER_READY} ]]; do
UI_FOCUS=`adb shell dumpsys window windows 2>/dev/null | grep -i mCurrentFocus`
echo "(DEBUG) Current focus: ${UI_FOCUS}"
case $UI_FOCUS in
*"Launcher"*)
LAUNCHER_READY=true
;;
"")
echo "Waiting for window service..."
sleep 3
;;
*"Not Responding"*)
echo "Detected an ANR! Dismissing..."
adb shell input keyevent KEYCODE_DPAD_DOWN
adb shell input keyevent KEYCODE_DPAD_DOWN
adb shell input keyevent KEYCODE_ENTER
;;
*)
echo "Waiting for launcher..."
sleep 3
;;
esac
done
echo "Launcher is ready :-)"
Скрипт ожидает, когда средство запуска будет готово и находится в фокусе, и автоматически отклоняет оповещения об отзывчивости системы, приходя на его пути.