Виртуальное устройство, работающее в Genymotion, периодически выходит в автономный режим в ADB

У меня есть Android-устройство (с изображением Lollipop, если это важно), работающее в Genymotion 2.4 и подключаемое к нему через ADB (версия 1.0.32) с другого ПК разработчика с Eclipse в локальной сети без проблем с подключением. Все отлично, за исключением периодических спадов соединения ADB (другие протоколы продолжают работать нормально), то есть ADB теряет устройство, и когда я пытаюсь восстановить его, он говорит, что устройство отключено. По моему опыту, это автономное состояние в основном означает, что принимающая сторона (устройство) все еще считает, что она подключена и отклоняет новое соединение. Единственный метод, который я знаю для устранения этой проблемы, – это перезагрузить устройство, а затем ADB подключается к нему, как и ожидалось.

Если кому-то интересно, ADB не работает на удаленном хост-компьютере с Genymotion, иначе удаление соединений с других ПК было бы невозможным.

Вопрос: как я могу «мягко» обновить виртуальное устройство, чтобы принять новое соединение ADB без перезагрузки всего устройства?

PS Если я оставлю «автономное» устройство самостоятельно в течение некоторого времени (довольно долгое время, например, в течение часа), кажется, обновляет его состояние без внешнего взаимодействия, поэтому ADB снова может правильно подключиться и сообщается устройство Как «онлайн». Но нет смысла ждать, пока это произойдет. Это просто новая информация для рассмотрения.

Solutions Collecting From Web of "Виртуальное устройство, работающее в Genymotion, периодически выходит в автономный режим в ADB"

Это может не сработать для вас, но работало для меня в ситуации, когда мое устройство просто отключается в ADB. В одном из комментариев к вашему вопросу упоминается, что их эмулятор обычно отключается, когда их устройство спит. Моя делает то же самое, а также отключается после длительных периодов бездействия, несмотря на то, что на самом деле не спит. Во всяком случае, мое исправление просто и просто:

В терминале перейдите к месту установки SDK. Затем перейдите к инструментам платформы платформы в своем SDK и выполните следующую команду:

adb kill-server 

После этого выполните следующее:

 adb devices 

Это почти всегда устраняет мою проблему, и я надеюсь, что она исправляет и вашу. Дайте мне знать, как это работает для вас.

Если вы используете MacOS Sierra, в нем есть известная ошибка.

28.11.2016. Обходное решение пока отсутствует, кроме перезапуска adb, которое предлагается в ответе @lustig.

  • Google собирается исправить это в Android Studio 2.3. Вопросы для отслеживания 82425 , 216214
  • Нет информации о том, будет ли Apple исправлять это на их стороне или нет.