Android adb“无法打开同步连接!”
Posted
技术标签:
【中文标题】Android adb“无法打开同步连接!”【英文标题】:Android adb "Unable to open sync connection!" 【发布时间】:2011-04-24 04:13:23 【问题描述】:大部分时间我都可以在手机上运行和调试我的 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。
有什么好主意吗?
【问题讨论】:
在 Nexus One 上出现同样的问题。这是一个可怕而令人绝望的问题,在模拟器中测试是如此缓慢......奇怪的是我是唯一遇到这个问题的人,我们是 5 名开发人员共享同一部手机。我使用的是 windows,它也发生在以前的 sdk 版本(2.0 及更高版本)上 这里也一样。有时循环“允许调试连接”修复它,有时拉 USB 电缆修复它,有时直到明天才修复它(我认为这可以用月球的引力影响来解释)。我试过从 USB 集线器转移到直接端口,但这没有任何影响。 Vista x64 用户在这里。 (我认为这可以用月球的引力效应来解释)这听起来很有趣。我注意到在星期四有新月时这种影响会累积。 有人应该保护这个问题。它开始得到很多重复的答案和“我也是”的 cmets。 成功了。我想知道USB线是否出现故障。开发的第一年遇到了所有奇怪的问题,并研究并记住了修复程序。 【参考方案1】:我遇到了完全相同的问题,但我已经将手机连接到计算机的 USB 端口。有时断开并重新连接电源线有效,但随后完全停止工作。 但是,到目前为止,在手机上禁用 USB 调试然后重新启用它是有效的。希望它继续工作!这些修复看起来真的很愚蠢。我不确定根本问题是什么。
【讨论】:
幸运的是,我什至一天都没有遇到过这个问题,而且简单地重新连接 USB 电缆就可以正常工作,总是...... 我有这个,并且电缆拔出/重新插入通常可以工作,但今天它需要 USB 启用/禁用“调整”过程。不确定这是否只是迷信,它是导航到那里以启用/禁用正在起作用的调试选项的延迟。无论如何感谢这篇文章,因为它把我逼疯了! 看到同样的问题。拔下/插入并不能解决它。切换 USB 调试(没有插入/拔出)确实为我解决了这个问题。任何人都有这样做的小部件? 说真的为什么android总是这么有问题!? 感谢您的解决方案。不过老实说,Android 编程本身对我来说似乎是一系列愚蠢的 hack。很多事情都不能按照直觉工作 - 我经常发现未记录的功能是必要的,或者其他某种噱头可以解决它。【参考方案2】:我只能通过循环手机上的 USB 调试选项来清除此问题。
【讨论】:
设置->应用程序->开发->USB调试 这与接受的答案有何不同? Also you mean toggling 它与主连接不同,因为设备的某些端口无法正常工作某些端口禁用您的调试模式,因此您需要禁用调试器,然后从设备重新启用..... .....【参考方案3】:这也可能与“打开的文件过多”问题有关。当我收到上面的“同步”错误时,我手动尝试安装应用程序,那是我得到“打开的文件太多”线索的时候。一个基于some old posts 的粗暴解决方法似乎是重新启动手机,一位谷歌工程师建议这样做两次,第二次在它第一次进入睡眠模式之前(详细说明为什么在帖子中)。
那是几年前的事了,也许他们已经修复了它,或者只是在通常的情况下做了一些事情来解决它,而重新安装作为开发的一部分并不是它所解决的情况。
【讨论】:
是的,我在这个问题之前收到“打开的文件太多”的消息,我认为它是相关的,不确定是否以及何时会出现适当的修复...... Marty - 我也有同样的经历【参考方案4】:这里是 Nexus One,CyanogenMod 7 (Android 2.3.7)...禁用和重新启用:
设置 > 应用程序 > 开发 > USB 调试
现在一切都可以在 Eclipse 和 Mac OS X 10.7.3 上运行。
【讨论】:
【参考方案5】:当我通过键盘的 USB 集线器连接手机时,我遇到了同样的问题。当我直接连接到计算机的 USB 端口时,它就消失了。
【讨论】:
【参考方案6】:我遇到了同样的问题,重新启动 ADB 对我不起作用。有时重启我的手机会起作用,但并非总是如此,由于这个故障,我无法编程大约一周,我想我终于找到了解决方法! :-D
首先,杀死手机上运行的所有程序。拥有某种任务管理器可以让这成为一项快速的任务,否则您将不得不一次手动将它们全部杀死。
如果这不能解决问题,您需要转到手机设置,然后转到“应用程序”,然后转到“正在运行的服务”,然后杀死其中的所有服务。我正在使用 Droid Incredible,但我还没有让这对我不起作用。 :-)
所以,简短的回答是,终止所有应用程序和所有服务。
另外,请记住,您需要关闭并重新打开 Eclipse 以查看此修复是否对您有效。我希望这对你有用,我知道它对我有用! :-D
【讨论】:
【参考方案7】:当 Kindle Fire 发生这种情况时,我只需将其关闭并重新打开即可。
【讨论】:
【参考方案8】:我只是通过在我的设备(索尼爱立信 Xperia)上禁用和启用调试配置来修复它
【讨论】:
【参考方案9】:当Android Debug Bridge(将数据从我们的计算机发送到连接的设备的工具)以某种方式断开连接时,就会发生此错误。正如我们所知,有一些层需要连接,比如 adb 本身,当然,最后一层是 USB 电缆,所以当您已经尝试重新启动 adb 脚本并且似乎无法正常工作时,您只需要重新连接电缆即可。
【讨论】:
【参考方案10】:我经常在连接的设备(手机或平板电脑)甚至模拟器中看到这个问题。我注意到问题通常出现在一段时间不活动之后(例如午休后)。可能是开发机器上的操作系统正试图节省资源,而 adb 并不是所有 JIT 友好的。 在 Windows 上,我必须关闭 IDE 并打开任务管理器并强制停止(杀死)adb,然后重新启动 Eclipse。这总是对我有用...
我注意到,如果我在任务管理器中为 adb 设置了更高的优先级,这个问题就会大大减少——尽管它仍然会发生。【讨论】:
【参考方案11】:重新启动手机也为我解决了这个问题,每当重置 USB 电缆没有解决它时
【讨论】:
禁用和启用 USB 调试对我不起作用。我试图重新启动设备..一切正常。我认为此错误与设备上运行的许多应用程序或服务有关,因此当我重新启动它或任务管理器 - > Ram - > 清除内存将保存问题【参考方案12】:该解决方案很可能在您的 android 手机上运行(在本地终端或 ssh 终端上): $停止adbd;启动亚行
我不喜欢像重启手机这样的过度杀伤性解决方案……而这在 Linux 下通常不需要。我在通过 Wifi 连接时遇到了同样的问题,所以 USB 可能根本不负责。阅读了user655489的回答,我想到了运行lsof,然后运行lsof | grep adbd | wc -l => 我想我打开了许多套接字,所有 FD 从 0 到 1023 都在使用中......多么可疑。
我运行 killall adbd,然后按照 How can I connect to Android with ADB over TCP? 重新启动 adbd,问题就消失了。
原因是,至少在调试和不得不终止我的非工作应用程序时,有几个套接字永远不会关闭。
【讨论】:
【参考方案13】:对我有帮助的有以下几点: ++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++
如果您在 AndroidX86 上进行调试(或者对您的 Android 开发人员机器具有 root 访问权限) 杀死“adbd”进程..让它重新启动。
例如
[在 Android 虚拟机上]
杀死 adbd(例如杀死`ps a| grep adbd | awk ' print $2 '
`)
/sbin/adbd 会自动重启
[在开发站上]
[开发站] ./adb 断开连接 [开发站] ./adb connect如果您没有 root,可能切换 USB 调试、重新启动等也会有所帮助。 因为它也会重新启动 adbd ++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++
【讨论】:
【参考方案14】:我经常遇到这个问题(我的意思是就像我每两次启动调试时一样)。我使用的是相当长的 USB 电缆。我改用原来的 HTC USB 线,它很短,问题就消失了!
【讨论】:
【参考方案15】:当我的 USB 电缆通过 键盘 USB 连接到 PC 时,我遇到了这个问题:O。当我将它直接连接到 PC 时,我的问题就解决了。
我希望这行得通。
享受吧!
【讨论】:
【参考方案16】:根据Maven Explanation,我尝试了这个解决方案。但我遇到了同样的问题。所以我重新启动设备。它开始完美运行。
【讨论】:
【参考方案17】:试试这个,
在手机上禁用USB调试,然后在下重新启用
设置 -> 应用程序 -> 开发 -> USB 调试
它工作正常。
【讨论】:
【参考方案18】:这个解决方案对我有用
-
点击撤销 USB 调试授权。
点击确定。
重新连接 USB。
点击确定获取权限。
【讨论】:
以上是关于Android adb“无法打开同步连接!”的主要内容,如果未能解决你的问题,请参考以下文章
无法运行“adb”,请检查您的 Android SDK 安装和 ANDROID_SDK_ROOT 环境变量:...\Android\Sdk\platform-tools\adb.exe