Android adb «Невозможно открыть синхронизирующее соединение!»

168

Большую часть времени я могу нормально запускать и отлаживать приложение Android на своем телефоне. Затем, на первый взгляд, случайным образом, когда я пытаюсь запустить или отладить свое приложение из Eclipse, консоль в Eclipse говорит:

[2010-10-12 09:36:48 - myapp] Android Launch!
[2010-10-12 09:36:48 - myapp] adb is running normally.
[2010-10-12 09:36:48 - myapp] Performing com.mycompany.myapp.MyActivity activity launch
[2010-10-12 09:36:48 - myapp] Automatic Target Mode: using device 'HT01TP800561'
[2010-10-12 09:36:48 - myapp] Uploading myapp.apk onto device 'HT01TP800561'
[2010-10-12 09:36:48 - myapp] Failed to upload myapp.apk on device 'HT01TP800561'
[2010-10-12 09:36:48 - myapp] java.io.IOException: Unable to open sync connection!
[2010-10-12 09:36:48 - myapp] Launch canceled!
  • Повторить: не помогает, те же сообщения.
  • Перезапустите Eclipse: не помогает.
  • Перезапустите adb ( adb kill-server && adb start-server): без ошибок, не помогает.
  • Переподключите телефон: иногда помогает.
  • Перезагрузите компьютер: довольно радикально, еще не пробовали.

Использование Ubuntu 10.4, Eclipse Galileo 3.5.2, Android SDK 7, плагин ADT 0.9.6, Nexus One, Android 2.2.1.

Какие-нибудь яркие идеи?

Томас
источник
2
Та же проблема здесь, на Nexus One. Это ужасная и отчаянная проблема, тестирование в эмуляторе происходит так медленно ... Странно то, что у меня одна такая проблема, и у нас 5 разработчиков, работающих на одном телефоне. Я использую Windows, и это также произошло в предыдущих версиях SDK (2.0 и выше)
Maragues
2
Тоже самое. Иногда цикл «Разрешить отладочные соединения» исправляет это, иногда натяжение кабеля USB исправляет это, иногда НИЧЕГО не исправляет это до завтра (я предполагаю, что это может быть объяснено гравитационным воздействием луны). Я пытался перейти с USB-концентратора на прямой порт, но это не повлияло. Пользователь Vista x64 здесь.
Скайлар Саттон
1
(Я предполагаю, что это может быть объяснено гравитационным воздействием луны), это звучит интересно. Я заметил накопление этого эффекта в четверг с новолунием.
Коала
Кто-то должен защитить этот вопрос. Это начинает получать много повторяющихся ответов и комментариев "я тоже".
Magakahn
это сделало трюк. Мне было интересно, если USB-шнур выходит из строя. первый год разработки - это удар по всем странным вещам, которые идут не так, как надо, а также поиск и запоминание исправлений.
Androidcoder

Ответы:

416

У меня была точно такая же проблема, но у меня уже был телефон, подключенный к USB-порту компьютера. Иногда отсоединение и повторное подключение шнура работало, но затем оно перестало работать полностью. Тем не менее, отключение отладки USB на телефоне, а затем повторное включение его работало до сих пор. Надеюсь, он продолжает работать! Эти исправления действительно кажутся глупыми взломами. Я не уверен, в чем заключается основная проблема.

специалист
источник
1
К счастью, у меня есть эта проблема даже не один раз в день, и простое переподключение USB-кабеля работает нормально, всегда ...
WarrenFaith
У меня было это, и кабель отсоединения / повторного подключения обычно работал, но сегодня он нуждался в включении / отключении USB «твик» для процесса. Не уверен, что это просто суеверие, и это задержка навигации там, чтобы включить / отключить опцию отладки, которая делает свое дело. В любом случае, спасибо за этот пост, так как он вез меня в стену!
sradforth
6
Видя ту же проблему. Отключить / подключить не решает. Переключение USB-отладки (без подключения / отключения) решает проблему для меня. У кого-нибудь есть виджет для этого?
Джеймс Мур
1
Серьезно, почему андроид всегда так неисправен !?
Pacerier
1
Спасибо за решение, приятель. Честно говоря, программирование Android само по себе кажется мне серией глупых взломов. Многие вещи не работают в соответствии с интуицией - и я часто нахожу либо недокументированные функции необходимыми, либо какой-то другой трюк решает это.
KalEl
25

Я смог очистить это только включив опцию USB Debugging на телефоне.


источник
11
Настройки -> Приложения -> Разработка -> Отладка по USB
Thunder Rabbit
1
Чем это отличается от принятого ответа? Также вы имеете в виду переключение
Mr_and_Mrs_D
Это отличается от основного соединения, потому что некоторые порты устройства не работают должным образом, некоторые порты отключены, либо ваш режим отладки
включен,
3

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

Это было несколько лет назад, и, возможно, они исправили это, или просто сделали некоторые вещи, чтобы обойти это в обычных случаях, и переустановка как часть разработки - это не тот случай, к которому она обращается.

user655489
источник
2
да, я получал сообщение «слишком много открытых файлов» как раз перед этой проблемой, я думаю, что это связано, не уверен, когда и когда придет правильное исправление ...
Марти
Марти - я сделал тот же опыт
кто-то где-то
3

Nexus One здесь, CyanogenMod 7 (Android 2.3.7) ... отключить и включить:

Настройки> Приложения> Разработка> USB отладка

И теперь все работает на Eclipse и Mac OS X 10.7.3.

whiskito
источник
2

У меня возникла та же проблема, когда телефон подключен через USB-концентратор клавиатуры. Это ушло, когда я подключился прямо к USB-порту компьютера.

Юхани
источник
2

У меня была такая же проблема, и перезапуск ADB не сработал бы для меня. Иногда перезагрузка моего телефона работала, но не всегда, я не мог программировать в течение недели из-за этого сбоя, и я думаю, что я наконец нашел обходной путь! :-D

Прежде всего, убейте каждую программу, запущенную на вашем телефоне. Наличие какого-либо менеджера задач делает это быстрым заданием, в противном случае вам придется вручную убивать их всех по одному.

Если это не помогает, вам нужно перейти к настройкам телефона, затем «Приложения», затем «Запущенные службы» и уничтожить все имеющиеся там службы. Я использую Droid Incredible, и мне еще предстоит, чтобы это не работало для меня. :-)

Итак, короткий ответ: убить все приложения и все сервисы.

Кроме того, имейте в виду, что вам нужно будет закрыть и снова открыть затмение, чтобы увидеть, сработало ли это исправление для вас. Я надеюсь, что это работает для вас, я знаю, что это сделало для меня! :-D

Джаред
источник
2

Когда это происходит на Kindle Fire, я просто выключаю его и снова включаю.

HalR
источник
2

Я исправил это, просто отключив и включив конфигурацию отладки на моем устройстве (SonyEricsson Xperia)

rolimat
источник
2

Эта ошибка возникает, когда каким-то образом отключается Android Debug Bridge , который является инструментом для отправки данных с нашего компьютера на подключенное устройство. Как мы знаем, есть несколько слоев для подключения, например, сам adb, и, конечно, последний уровень - это кабель USB, поэтому, когда вы уже попытались перезапустить сценарий adb и, похоже, не работали, вам просто нужно снова подключить кабель.

Энрике Диас
источник
1

Я регулярно вижу эту проблему как на подключенных устройствах (телефон или планшет), так и даже на эмуляторах. Я заметил, что проблема часто следует за периодами бездействия (например, после перерыва на обед). Может случиться так, что операционная система на компьютере разработчика пытается сэкономить ресурсы, и adb просто не совсем подходит для JIT. На окнах я должен закрыть IDE и открыть диспетчер задач и принудительно остановить (убить) adb, а затем перезапустить Eclipse. Это всегда работает для меня ...

  • Я заметил, что если я установлю более высокий приоритет в диспетчере задач для adb, эта проблема значительно уменьшится - хотя это все еще может произойти.
обкрадывать
источник
1

Перезапуск телефона также исправил эту проблему для меня всякий раз, когда перезагрузка USB-кабеля не исправляла

Kurru
источник
отключение и включение отладки по USB мне не помогло. Я попытался перезагрузить устройство .. все работало нормально. Я думаю, что эта ошибка связана со многими приложениями или службами, работающими на устройстве, поэтому, когда я перезагружаю его или диспетчер задач -> Ram -> Clear Memory спасет проблему
Chris Sim
1

Решение может работать на вашем телефоне Android (на локальном терминале или терминале ssh): $ stop adbd; начать ADB

Мне не нравятся такие решения, как перезагрузка телефона, а в Linux это обычно не требуется. У меня возникла та же проблема при подключении по Wi-Fi, поэтому USB, возможно, не несет ответственности вообще. Читая ответ пользователя user655489, у меня появилась идея запустить lsof, а затем lsof | grep adbd | wc -l => Я думаю, что у меня было открыто много сокетов с использованием всех FD от 0 до 1023 ... как подозрительно.

Я запустил killall adbd, затем перезапустил adbd per Как подключиться к Android с помощью ADB через TCP? И проблема исчезла.

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

Кирилл Холвек
источник
1

Мне помогает следующее: +++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++

Если вы выполняете отладку на AndroidX86 (или иным образом имеете root-доступ к вашему компьютеру разработчика Android), завершите процесс adbd .. и дайте ему перезапуститься.

например

[На Android VM]

  • убить adbd (например, убить `ps a| grep adbd | awk ' { print $2 } '`)
  • / sbin / adbd перезапустится автоматически

[На станции DEV]

  • [dev станция] ./adb отключить
  • [dev station] ./adb connect

Если у вас нет рута, возможно, может помочь переключение USB-отладки, перезагрузка и т. Д. Как это также перезапускает adbd +++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++

Родерик Грисбек
источник
0

Я очень часто сталкиваюсь с этой проблемой (я имею в виду, как каждый второй раз, когда я запускал Debug). Я использовал довольно длинный USB-кабель. Я переключился на оригинальный USB-кабель HTC, который был коротким, и проблема исчезла!

Даниил Новак
источник
0

Я столкнулся с этой проблемой, когда мой USB-кабель был подключен к ПК через клавиатуру USB : O. Когда я подключил его к ПК напрямую, моя проблема решилась.

Я надеюсь, что это работает.

Наслаждайтесь!

Bobs
источник
0

Согласно объяснению Maven я попробовал это решение. но у меня была та же проблема. Поэтому я перезапустил устройство. И все заработало отлично.

Нарендра Пал
источник
0

Попробуй это,

Отключение отладки по USB на телефоне и повторное включение в

Настройки -> Приложения -> Разработка -> Отладка по USB

это работает нормально.

Силамбарасан
источник
0

Это решение сработало для меня

  1. Нажмите «Отменить авторизацию отладки USB».
  2. Нажмите ОК.
  3. Подключите USB.
  4. Нажмите OK для Разрешения.

введите описание изображения здесь

Сиддарт Кантед
источник