更新 所谓的重复是一个在执行Run时陷入“等待调试器”的问题,而这个问题是在执行调试时陷入“等待调试器”,产生问题的步骤是不同的,解决方案也是不同的。


每当我尝试使用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运行Cyano, Win7 64。亚行的日志很能说明问题:

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

此外,我找不到一个简单的方法来断开或重置ADB连接在Android Studio。


当前回答

对我来说,运行->附加调试器到Android进程是工作的,但我必须这样做,每次应用程序启动。

解决办法: 你的“应用启动配置”可能有问题(要验证这个创建新项目,看看它是否工作正常)。只需删除应用程序配置,打开MainActivity文件并运行->调试(将创建新的配置)

其他回答

重新开始对我来说没用。真正起作用的是等待Android Studio自动解锁几分钟。这是我第一次运行调试器;之后,Android Studio迅速启动调试器。

这种情况也时常发生在我身上。问题是你的应用程序/设备被配置为等待调试器。在这种情况下,它在继续执行之前等待调试器。

选项1:

Attach debugger or run in debug mode. You can do this in Android Studio. Buttons to attach debugger and run in debug mode are located next to normal run mode (Bug and Bug with arrow).

选项2:

Disable Wait for debugger. You can do this is developer settings. This option needs to be disabled in:

开发人员选项的根 开发人员选项->选择调试应用-> ->等待调试器

这是在Android studio的Android模拟器上测试的。其他手机可能有不同的设置。如果你在调试中找不到app的设置,重新安装app也可以。

它是如何为我工作的。

1从“工具-> Android -> Android设备监视器”中打开Android设备监视器

2在设备列表中,单击正在面临问题的进程的“停止”。

就我而言,在稳定版本的同时运行Android Studio Canary(预览版)是个问题。运行多个相同风格的Android Studio实例是可以的,但是混合它们通常会导致“等待调试器”。

对我来说,问题在于让IntelliJ和Android Studio同时打开。我使用IntelliJ进行后端开发,同时使用Android Studio进行应用程序开发。尽管我没有使用IntelliJ进行任何移动设备工作,但它破坏了在Android Studio中的调试。

解决方案:调试Android Studio时关闭IntelliJ。