Android adb "Невозможно открыть синхронизацию!"

Я могу запускать и отлаживать свое приложение для 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.

Любые яркие идеи?

Ответ 1

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

Ответ 2

Мне удалось очистить это, только включив опцию USB Debugging на телефоне.

Ответ 3

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

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

Ответ 4

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

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

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

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

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

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

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

Ответ 8

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

Ответ 9

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

Ответ 10

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

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

Ответ 11

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

Ответ 12

Решение, скорее всего, будет работать на вашем телефоне Android (на локальном терминале или в ssh-терминале): $stop adbd; начать adb

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

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

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

Ответ 13

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

Если вы отлаживаете на AndroidX86 (или иным образом имеете root-доступ к вашей машине разработчика Android) Убейте процесс "adbd" и перезапустите его.

например.

[На Android VM]

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

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

  • [dev station]./adb отключить
  • [dev station]./adb connect

Если у вас нет корневой системы, возможно, это поможет также отладка USB, перезагрузка и т.д. Поскольку он также перезапускает adbd ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++

Ответ 14

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

Ответ 15

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

Надеюсь, это сработает.

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

Ответ 16

По Maven Пояснение Я пробовал это решение. но у меня была такая же проблема. Поэтому я перезапустил устройство. И он начал работать отлично.

Ответ 17

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

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

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

его работы прекрасны.

Ответ 18

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

  • Нажмите "Отменить авторизацию отладки USB".
  • Нажмите "ОК".
  • Перезагрузите USB.
  • Нажмите "ОК" для "Разрешения".

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