У меня есть проблема, и я не знаю, как ее решить.
Как точно узнать состояние эмулятора: не работает, загружено, устройство
Я создаю сборку приложения на сервере с помощью TeamCity.
Описаны этапы сборки сборки.
Первый шаг - запуск эмулятора с помощью скрипта bash:
Шаг 1: запуск эмулятора
Тип бегуна: Командная строка (Простое выполнение команды)
Пользовательский скрипт:
#!/bin/bash
DEVICES=`adb devices`
echo $DEVICES
if [[ $DEVICES == *emulator*device* ]]
then
echo "Emulator has already been running"
else
if [[ $DEVICES == *emulator* ]]
then
adb emu kill
echo "All previous emulator were killed"
fi
echo "Launching new emulator..."
emulator @Emul -no-window &
adb wait-for-device
sleep 60 #android os should start completely
echo "Emulator launched"
adb devices
fi
Проблема в том, что эмулятор при зависании.
Скрипт висит на заявлении: «adb wait-for-device»
И не продолжает его выполнение.
И процесс сборки не продолжается. И тогда все встраивается в крах TeamCity.
Приходится вручную подключаться через VNC и перезапускать эмулятор.
Можете ли вы также сказать:
- или получить информацию от эмулятора о его состоянии;
(больше, чем правильное решение «adb wait-for-device»)
- или как отловить ответ на обработку сигнала задержки и перезапустить скрипт, выполненный в TeamCity
Спасибо за внимание к проблеме