Скорее всего, вы будете тестировать свое приложение на устройстве, включая пользовательский интерфейс, поэтому хорошим вариантом является размещение устройства поблизости, хотя это не относится к разработке модульных тестов.
К сожалению, проблема, с которой вы столкнулись, очень часто встречается при тестировании на устройстве, и лучшие решения:
- отключите устройство и подключите его снова
- перезагрузите сервер adb
- отключите устройство и подключите его снова
- физически перезагрузить устройство
Насколько мне известно, поскольку adb не может обнаружить ваше устройство, он также не может связаться с ним, поэтому ваш нынешний подход с использованием ADB для его перезапуска не приведет вас слишком далеко.
Более сложным решением было бы установить приложение-службу, которое отслеживает команду «перезапуска» из онлайн-источника. Затем используйте решение из здесь для перезагрузки.