使用 Android Studio 进行调试永远停留在“Waiting For Debugger”
Posted
技术标签:
【中文标题】使用 Android Studio 进行调试永远停留在“Waiting For Debugger”【英文标题】:Debugging with Android Studio stuck at "Waiting For Debugger" forever 【发布时间】:2015-02-10 17:11:03 【问题描述】:更新 supposed 重复是关于在执行 Run 时卡在“Waiting For Debugger”的问题,而这个问题是关于卡在“Waiting For Debugger”在执行Debug时,产生问题的步骤不同,解决方案也不同。
每当我尝试使用 android Studio 的 Debug 功能时,运行状态总是停留在:
Launching application: com.astrotek.parashoot.debug/com.astrotek.ptpviewer.StarterActivity.
DEVICE SHELL COMMAND: am start -n "com.astrotek.parashoot.debug/com.astrotek.ptpviewer.StarterActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.astrotek.parashoot.debug/com.astrotek.ptpviewer.StarterActivity
我正在调试的设备(Samsung Galaxy S3 Android 4.3)会显示
从 Android Studio 0.8.8 一直到 1.0 都是如此。在同一台计算机上,我可以在同一设备上使用 Eclipse 进行调试,而不会出现任何问题。
所以问题是我可以做些什么来让 Android Studio 调试工作?
更新:在运行 Android 5.0 的 Nexus 7 (2013) 上进行调试时会发生同样的情况;并在另一台机器上进行测试呈现相同的结果。我不能是唯一遇到这个问题的人:-/
更新:因为这个问题太烦人了,所以打开了赏金。即使重新安装应用程序也无法解决。 Nexus 5 运行 Cyano,Win7 64。ADB 日志告诉我们:
8568-8568/it.myapp:myprocess W/ActivityThread﹕ Application it.myapp is waiting for the debugger on port 8100...
8568-8568/it.myapp:myprocess I/System.out﹕ Sending WAIT chunk
另外,我在 Android Studio 中找不到断开或重置 ADB 连接的简单方法。
【问题讨论】:
如果您还没有,您可以尝试在您的模拟器的 AVD 配置中取消选中“使用主机 GPU”。 @JosephWebber 感谢您的建议,不过我正在实际硬件上调试 您使用的是自定义模组还是库存模组? 我在 Nexus 7 2013 和 Android 4.4.2 以及三星 S3 和 Android 4.3 上进行了测试,都没有成功。 嗨,我遇到了类似的问题,我在这里尝试了解决方案,但没有用。请帮忙回答我的问题:***.com/q/40838494/5241603 【参考方案1】:只需使用此命令禁用它。
adb shell am clear-debug-app
【讨论】:
这个命令应该用在哪里?在终端? @AndreaBuzzelli 是的,在你的终端中 谢谢伙计。刚刚在 AS 的终端中运行它,它为我清除了它。【参考方案2】:在某些机器/项目上,调试器不会自动附加,因此您需要手动附加它(工作室 menu -> 运行 -> 将调试器附加到 Android 进程)
【讨论】:
我的似乎在它完全启动之前连接到应用程序并“等待调试器”,告诉它在它已经连接后再次连接解决了这个问题。 (安卓工作室 162) 我刚刚处于发布模式 :D【参考方案3】:重新启动测试设备为我解决了这个问题。
【讨论】:
这里也一样,我尝试了上面的所有方法,这个为我做了..叹息 这里也一样。即使未连接到开发机器(未以任何方式通过 adb 连接),我的设备也会显示该消息。所以所有关于 Android Studio 和 ADB 的建议都是无关紧要的。关闭/打开 USB 调试也无济于事。重新启动设备是修复它的唯一方法。 Me 设备(模拟)在我打开应用程序(通过 Android Studio 或仅从启动器)时显示该消息。尝试了一大堆东西。我没有完全重启手机,因为它已经关闭了好几次(但有一个保存的状态,呃)。这成功了! 是的,神圣的重启对我也有帮助。【参考方案4】:重新启动 Android Studio 为我解决了这个问题。
【讨论】:
有趣的是,这是解决 Xcode 问题的常用方法。显然这两个平台最后并没有那么不同:) 没有。不适合我。 很抱歉听到这个消息。显然 2 年后,还有另一个问题和(希望)解决方案:)【参考方案5】:点击运行图标后。如果它在等待调试器时被卡住,则意味着它没有附加到应用程序。您必须通过单击将调试器附加到 Android 进程来手动附加。 它位于运行图标的右侧。我已将此图标聚焦在链接图像中。
更新了将调试器附加到 Android 进程图标
的图像【讨论】:
如果我没有启动调试,错误只是运行应用程序 正是 lxknvlk,现在是 2021 年,使用的是 android studio 4.2.2,这种主要的痛苦不断出现。有趣的是,它只是突然开始这样做,并且没有任何解决方案可以解决它。我正在使用 Nexus 5X API 28x86,现在我已经浪费了好几个小时试图修复它。重新启动一切,包括重新启动计算机。【参考方案6】:调试器今天停止为我连接,在我尝试以下操作之前没有任何效果:
转到运行,编辑-配置,杂项选项卡,取消选中“如果 APK 未更改则跳过安装”应用,确定。
调试器再次开始连接。
【讨论】:
Fudge,当其他答案不起作用时(重新启动、删除“.idea”等),这对我有用。这个答案已经有5年多了,我用的是2021年底最新版本的AS。为什么谷歌还没有修复这个问题?即使他们无法找出根本原因,他们也可以轻松地让 AS 忽略该设置并在调试持续失败(无响应)一段时间后安装 APK....【参考方案7】:当您打开多个Android Studio实例时会出现此问题,因此您需要像上面提到的那样手动附加调试器。
您可能需要关闭 Android Studio 的其他实例。
【讨论】:
补充一点:也许你必须在关闭打开的实例后重新启动 android studio... 这对我有帮助! 另一个改进 - 如果您只打开另一个 IntelliJ IDEA,它确实会发生。不需要是android studio Android Studio 无法在 Android Emulator 中开始调试,关闭 IntelliJ 解决了该问题。在 IntelliJ 中打开的项目甚至不是一个 Android 项目(而只是一个控制台 Kotlin 项目)。可能是因为 IntelliJ 中安装了 Android 组件。【参考方案8】:asked recently 有一个类似的问题,该解决方案可能对某些人有效,而且速度非常快。
清除 Intellij IDEA (Android Studio) .idea 目录 包含对我有用的配置信息:
退出 Android Studio 导航到您要调试的项目 备份 .idea 中您修改过的所有文件(如果您的项目将其中任何文件检入 VCS) 删除.idea目录 在 Android Studio 中打开项目
【讨论】:
这解决了问题。突然我无法在真实硬件或模拟器上调试。重新启动一切都没有用。我可以通过使用 Run -> Attach debugger to Android process 来获得,但过了一会儿它会变得烦人。正如 IDE 建议的那样,它在升级 gradle 后开始发生。 Google 问题跟踪器中的 FYI 票证:issuetracker.google.com/issues/37117600 所有 android studio 问题的标准答案,重启 :)。正在制作中的windws os.. 没有帮助。消息仍然存在。 谢谢vman!我汗流浃背的子弹。无法调试对我来说是一场灾难,这解决了它。【参考方案9】:我在 android studio 3.0 中遇到了这个问题。刚刚重启设备解决了。
【讨论】:
谢谢你拯救了我的一天,它工作正常。【参考方案10】:我的两台开发机器都安装了 JDK 8,安装 JDK 7.0.71 并且将 JAVA_HOME 环境变量设置为指向新的 JDK 后,调试功能就恢复了。
猜测 Android Studio + ADB + JDK8 之间存在一些兼容性问题(Eclipse + ADB + JDK8 工作正常)。
【讨论】:
我有同样的问题,很烦人,因为需要重启手机。使用 JDK 1.7.0b147 JDK 8 不受 Android Studio 官方支持 - 我在编译项目时遇到了问题,通过返回 JDK 7 解决了这些问题。 最新版Android Studio中JDK8到JDK7的修改位置 @AnandKrish 你要更改计算环境的默认JDK/JRE,基本上当你执行javac -version时,结果应该是javac 1.7.xxx 。另一方面,我在 OSX 上使用 JDK 8 (1.8.0_60),上述问题似乎不再存在。 正确!我的机器安装了 JDK 7 和 JDK 8。我已通过将 JDK 位置(Android Studio 2.1.1:文件 - 项目结构 - SDK 位置 - JDK 位置)从 JDK 8 更改为 JDK 7 来解决此问题。【参考方案11】:我尝试了排名前三的答案,但失败了。重新启动我的手机后,问题就解决了。不再需要长时间的“等待调试器”。
【讨论】:
【参考方案12】:在尝试上述解决方案几天后,我刚刚解决了这个问题。 所以我关闭了模拟器,运行 AVD 管理器并在设备菜单中选择 - “擦除数据” 所以在下一次运行中,我摆脱了卡住的调试器。
【讨论】:
【参考方案13】:当设备显示消息时,转到运行->附加调试器,然后选择一个调试器。它将开始活动。
【讨论】:
太烦人了。经过多年的成功调试,今天才开始发生这种情况。 我通过恢复设备解决了这个问题。我需要尽快摆脱它。【参考方案14】:这为我解决了问题。 Android Studio -> 文件 -> 使缓存无效并重新启动...
【讨论】:
【参考方案15】:这个解决方案对我有用:
从我的设备设置中关闭 USB 调试,然后重新打开。
它比重启设备更快更容易。
【讨论】:
【参考方案16】:它对我有什么作用。
1 从 Tools -> Android -> Android Device Monitor
启动 Android Device Monitor2 在设备列表中为您遇到问题的进程点击停止。
【讨论】:
【参考方案17】:我遇到了同样的问题。重新启动我的 android 手机设备对我有用。
【讨论】:
【参考方案18】:大多数情况下,这是由于模拟器上的资源和线程过载造成的。甚至对于 GC 无法释放的对象的锁定:http://developer.android.com/intl/pt-br/tools/debugging/index.html
通常,一次重启就可以解决问题,但有时它会要求重新启动 IDE,因此请务必进行两次测试。
另一个很好的测试是尝试以“启动模式”启动应用程序,然后再次尝试调试模式...
P.S:不要忘记在每次测试后终止 IDE 中的每个调试进程。这将防止您的环境更加过载。
【讨论】:
【参考方案19】:Android Studio 3.0 及更高版本
禁用即时运行
【讨论】:
在 Android Studio 3.5.x 中,此选项变为HotSwap
。【参考方案20】:
对我来说,问题是:Windows 的区域格式 是 ARABIC。 我只是将区域格式更改为英语(美国),错误已修复。
修复步骤:
-
转到开始 -> 输入Region -> 点击Region 以打开Region 窗口 -> 从Format 下拉菜单,选择 English(美国) -> 点击 OK。
重启 Android Studio。
【讨论】:
【参考方案21】:我遇到了同样的问题。重新启动我的 android 设备并关闭 adb.exe 进程。这样我就可以解决问题了
【讨论】:
【参考方案22】:嗯,我想有很多情况可以触发这个问题。我改用 IntelliJ Idea,但它与 Android Studio 基本相同。我对这个问题的解决方案:
最快的方法:
右键单击包含您的主要活动的类文件 项目,然后在“调试'WhateverActivity'”。这将创建一个 应该可以正常调试的新运行配置。
其他解决方案,无需创建新的运行配置:
打开运行/调试配置并在“Android 应用”中选择您用于调试应用的配置。 在那里找到“启动选项/启动”并将其设置为“指定活动”而不是“默认活动”。 在上述选项正下方的“启动”字段中,单击三个省略号(三个点)按钮并选择您的主 活动。
至少它对我有用。我希望它也适用于其他人。
【讨论】:
附带说明,请注意使用 USB 集线器和劣质 USB 电缆。由于这些,我也遇到过这类问题。【参考方案23】:已根据此解决方案修复:https://youtrack.jetbrains.com/issue/IDEA-166153
我打开<project dir>/.idea/workspace.xml
将所有<option name="DEBUGGER_TYPE" value="Auto" />
替换为<option name="DEBUGGER_TYPE" value="Java" />
并重新启动 Android Studio
【讨论】:
谢谢,这是解决我的问题的唯一方法,在我的项目中本地包含 exoplayer 后开始发生。【参考方案24】:打开命令提示符并转到 android sdk>platform-tools> adb kill-server
按回车
再次adb start-server
按回车
【讨论】:
【参考方案25】:就我而言,问题在于运行 Android Studio Canary(预览版)和稳定版本。运行相同 Android Studio 风格的多个实例是可以的,但混合它们通常会导致“等待调试器”。
【讨论】:
【参考方案26】:确保您的Active Build Variant是debug
。
如果您还想让您的 release
变体 APK 可调试,请在应用级别进行简单更改 build.gradle
-
buildTypes
release
debuggable true
/*Your rest code*/
【讨论】:
【参考方案27】:重新启动一切对我不起作用。什么 DID 工作是等待几分钟,而 Android Studio 自己疏通。这是我第一次运行调试器;之后,Android Studio 迅速启动了调试器。
【讨论】:
【参考方案28】:对我来说,运行->将调试器附加到 Android 进程正在运行,但每次启动应用程序时我都必须这样做。
修复: 您的“应用程序启动配置”可能存在问题(要验证此创建新项目以查看它是否工作正常)。只需删除应用配置,打开 MainActivity 文件并运行->调试(将创建新配置)
【讨论】:
【参考方案29】:有时是因为在 build.gradle 配置中你必须设置节点:
debug
debuggable true
当您必须准备签名的 apk 时,将其改回 false。
问候
【讨论】:
【参考方案30】:这些解决方案都不适合我。
在我的情况下,我正在调试一个来自 Intellij IDEA 的应用程序,同时使用 Android Studio。只需关闭 Intellij IDEA 并删除我正在调试的应用程序即可解决我的问题。
【讨论】:
以上是关于使用 Android Studio 进行调试永远停留在“Waiting For Debugger”的主要内容,如果未能解决你的问题,请参考以下文章
填坑实录 Android Studio 利用 ADB WIFI 插件实现真机无线调试