使用Android Studio进行调试时卡在“等待调试器”界面无法继续的解决方法

242

更新 所谓的重复问题是关于在执行运行时被卡在“等待调试器”上,而这个问题则是在执行调试时被卡在“等待调试器”上,导致问题的步骤不同,解决方案也不同。


每当我尝试使用Android Studio的调试功能时,运行状态总是会卡在:

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 }

我正在调试的设备是三星Galaxy S3 Android 4.3。从Android Studio 0.8.8到1.0,这一直是个问题。但在同一台计算机上,我可以使用Eclipse在同一设备上进行调试而没有任何问题。

所以问题是,我该怎么做才能让Android Studio的调试工作?


更新:使用Android 5.0运行的Nexus 7(2013)也遇到了同样的问题;在另一台计算机上测试也得到了相同的结果。我肯定不是唯一遇到这个问题的人 :-/。


更新:由于这个问题非常恼人,我开启了一个悬赏。即使重新安装应用程序也无法解决。Nexus 5运行Cyanogenmod,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连接的方法。


2
@JosephWebber 感谢您的建议,但我正在实际硬件上进行调试。 - Kai
1
我在搭载原生Android 4.4.2的Nexus 7 2013和搭载Android 4.3的三星S3上进行了测试,但两者均未能正常工作。 - Kai
@Kai 取消重复标记,我会在这里链接我的答案,因为对于某些人来说,相同的问题可能会使用更快的方法解决。 - vman
在我的情况下,我必须取消设备设置中的“等待调试器”复选框。 - Beeing Jk
所有的解决方案都没有帮到我。这个问题已经存在多年了。Androidstudio的开发人员不关心这个问题,真是可惜。浪费了太多时间来尝试绕过进入调试模式的障碍。 - mcfly soft
显示剩余5条评论
41个回答

271

显然这是又一个关于Android Studio或者说ADB的bug。

只需使用此命令禁用它:adb shell am clear-debug-app

或者

确保在每次测试运行之前通过Gradle的uninstallAll任务自动从设备卸载所有内容,如此Auto uninstall before install?中所述。


这个命令应该在哪里使用?在终端里吗? - Andrea Buzzelli
@AndreaBuzzelli 是的,在你的终端里。 - twlkyao
1
谢谢,伙计。我刚在AS的终端中运行了它,解决了我的问题。 - TJ Olsen
"adb shell am clear-debug-app" 对于我的虚拟机来说运行良好。 - Reijo Korhonen

112

在一些机器或项目上,调试器无法自动连接,因此您需要手动连接它(工作室菜单->运行->附加调试器到Android进程


3
在完全启动并显示“等待调试器”的应用程序之前,我的设备似乎已经连接到了该应用程序。在已经连接的情况下再次告诉它连接一次解决了这个问题。(Android Studio 162) - davenpcj
我刚刚处于发布模式 :D - 10101010
当我尝试在虚拟的安卓设备上运行测试时,这项工作可以让测试运行。但是它并没有解决我设置测试运行的问题。它仍然处于调试状态! - Reijo Korhonen
那么如何使它自动附加? - MartianMartian

108

重新启动测试设备解决了我的问题。


我也是,我尝试了以上所有方法,但只有这个方法对我有效。唉。 - Dayan
我也遇到了同样的问题。即使没有连接到开发机器(以任何方式都没有通过adb连接),我的设备仍然显示该消息。因此,关于Android Studio和ADB的所有建议都是无关紧要的。关闭/打开USB调试也没有帮助。重启设备是唯一的解决方法。 - Mark
我的设备(模拟器)每次我打开应用程序时(通过Android Studio或仅从启动器),都会显示该消息。尝试了很多东西。完全重新启动手机没有发生在我脑海中,因为它已经关闭了几次(但是有一个保存的状态)。这个方法奏效了! - Nieminen
是的,圣洁重启对我也有帮助。 - danyapd
虽然这种方法可行,但并不是一个好的解决方案。这个问题总是会时不时地出现。 - TheRealChx101

63

重启Android Studio解决了我的问题。


3
有趣的是,这通常是解决Xcode问题的常规方法。显然,这两个平台在最后并没有那么不同 :) - hris.to
3
不,不是我的事。 - DSlomer64
很抱歉听到这个消息。显然,两年后又出现了另一个问题,但(希望)已经找到解决方案 :) - hris.to
参与 AS 2023 的开发工作。 - dotrinh PM

35

点击运行图标后,如果卡在等待调试器的状态,这意味着它没有连接到应用程序。您需要手动连接,方法是单击Attach Debugger to Android process,它位于运行图标的右侧。我已经在链接图像中聚焦了这个图标。

Attach Debugger to Android process 图标的更新图像

Attach Debugger icon 的新图像


6
如果我没有启动调试,只是运行应用程序,会发生什么? - lxknvlk
确切地说,这是在2021年使用Android Studio 4.2.2时经常出现的一个大问题。有趣的是,它突然出现,而且所有解决方案都无济于事。我正在使用Nexus 5X API 28x86,现在已经浪费了数小时来尝试解决它。重启了所有包括重新启动电脑。 - mikeB
如果没有列出任何进程会怎样? - jave.web
@RohitKumar 我知道,但是我只能在附加调试器中看到设备,却没有进程可供选择 :/ - jave.web
@jave.web 然后应用程序仍在等待设备安装,这是在此之后。 - Rohit Kumar
显示剩余3条评论

24

最近有一个类似的问题被问到了, 解决方案可能适用于某些人,并且非常快速。

清除Intellij IDEA(Android Studio).idea目录,其中包含配置信息,对我有用:

  1. 退出Android Studio
  2. 导航到您要调试的项目
  3. 备份您修改过的 .idea 中的任何文件(如果您的项目将它们检入VCS)
  4. 删除 .idea 目录
  5. 在Android Studio中打开项目

7
这解决了问题。突然间我无法在真实硬件或模拟器上进行调试。重新启动一切都没用。我可以通过使用“运行->附加到Android进程调试器”来继续,但过了一会儿就很烦人了。这是在升级gradle后发生的,就像IDE建议的那样。 - ASalazar
1
FYI谷歌问题跟踪器中的工单:https://issuetracker.google.com/issues/37117600 - vman
标准答案适用于所有Android Studio问题:重新启动 :). Windows操作系统正在制作中.. - Siddharth
没有帮助。消息仍然存在。 - Mitch
谢谢vman!我当时紧张得满头大汗。对我来说,无法调试是一场灾难,而这解决了我的问题。 - pigdog627

23

如果你打开了多个 Android Studio 实例,就会出现这个问题,因此你需要像上面提到的那样手动连接调试器。

你可能需要关闭其他 Android Studio 实例。


1
有一件事要补充:也许在关闭打开的实例后,您需要重新启动Android Studio...这对我很有帮助! - JonasPTFL
另一个改进是 - 如果您只打开了另一个IntelliJ IDEA,则会发生。不需要使用Android Studio。 - Konstantin Pribluda
Android Studio 无法在 Android 模拟器中启动调试,关闭 IntelliJ 解决了这个问题。在 IntelliJ 中打开的项目甚至不是一个 Android 项目(而只是一个控制台 Kotlin 项目)。也许是因为 IntelliJ 安装了 Android 组件。 - Damn Vegetables

23

今天我的调试器突然不能连接,尝试了以下方法才解决:

进入“运行” -> “编辑配置” -> “其他”选项卡,取消勾选“如果APK未更改,则跳过安装”选项,点击“应用”和“确定”按钮。

调试器重新开始连接。


这个方法对我很有效,其他的解决方案都没用(比如重启、删除“.idea”等)。这个答案已经超过5年了,而我在2021年底使用的是最新版本的AS。为什么Google还没有修复这个问题呢?即使他们无法找出根本原因,他们也可以轻松地让AS忽略该设置,并在调试失败(无响应)一定时间后安装APK... - Damn Vegetables

16

我在使用 Android Studio 3.0 时遇到了这个问题,只需要重新启动设备即可解决。


谢谢你,你救了我的一天,它运行得很好。 - Mohammad Zeeshan

13

我尝试了排名前三的答案,但都失败了。重启手机后,问题得以解决。再也不会长时间显示"等待调试器"。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接