Подтвердить что ты не робот

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

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

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

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

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

4b9b3361

Ответ 1

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

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

adb kill-server

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

adb devices

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

Ответ 2

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

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

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