ChatGPT解决这个技术问题 Extra ChatGPT

使用 Android Studio 进行调试永远停留在“等待调试器”

UPDATE 假设的重复是关于执行运行时卡在“等待调试器”中的问题,而这个问题是在执行调试时卡在“等待调试器”中的问题,产生问题的步骤不同,解决方案( s) 也不同。

每当我尝试使用 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 }

虽然我正在调试的设备(Samsung Galaxy S3 Android 4.3)会显示

https://i.stack.imgur.com/vtvHm.png

从 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 上进行了测试,都没有工作。
嗨,我遇到了类似的问题,我在这里尝试了解决方案,但不起作用。请帮助回答我的问题:stackoverflow.com/q/40838494/5241603

T
Top-Master

显然是另一个 Android Studio,或者更确切地说是 ADB 错误。

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

或者

使用 Gradle 的 uninstallAll 任务在每次测试运行之前从设备自动卸载,确保没有任何等待,如:
stackoverflow.com/Auto uninstall before install?


这个命令应该在哪里使用?在终端?
@AndreaBuzzelli 是的,在您的终端中
谢啦。刚刚在 AS 的终端中运行它,它为我清除了它。
O
Ohad Cohen

在某些机器/项目上,调试器不会自动附加,因此您需要手动附加它(工作室菜单 -> 运行 -> 将调试器附加到 Android 进程)


我的似乎在它完全启动之前连接到应用程序并“等待调试器”,告诉它在它已经连接后再次连接解决了这个问题。 (安卓工作室 162)
我刚刚处于发布模式:D
N
Nisar Ahmad

重新启动测试设备为我解决了这个问题。


同样在这里,我尝试了上面的所有内容,而这个为我做了..叹息
同样在这里。即使未连接到开发机器(未以任何方式通过 adb 连接),我的设备也会显示该消息。所以所有关于 Android Studio 和 ADB 的建议都是无关紧要的。关闭/打开USB调试也无济于事重新启动设备是修复它的唯一方法。
每当我打开应用程序(通过 Android Studio 或仅从启动器)时,我的设备(模拟)都会显示该消息。尝试了一大堆东西。我没有想到完全重启手机,因为它已经关闭了好几次(但有一个保存的状态,呃)。这成功了!
是的,神圣的重启对我也有帮助。
h
hris.to

重新启动 Android Studio 为我解决了这个问题。


有趣的是,这是 Xcode 问题的常见修复方法。显然这两个平台最后并没有那么不同:)
不,不适合我。
很抱歉听到这个消息。显然 2 年后,还有另一个问题和(希望)解决方案:)
R
Rohit Kumar

点击运行图标后。如果它在等待调试器时被卡住,则意味着它没有附加到应用程序。您必须通过单击将调试器附加到 Android 进程来手动附加。它位于运行图标的右侧。我在链接图像中关注了这个图标。

https://i.stack.imgur.com/pUQAl.png

将调试器附加到 Android 进程图标的更新图像

https://i.stack.imgur.com/qn4Vh.png


如果我没有启动调试怎么办,错误只是运行应用程序
正是 lxknvlk,现在是 2021 年,使用的是 android studio 4.2.2,这种主要的痛苦一直在出现。有趣的是,它只是突然开始这样做,并且没有任何解决方案可以解决它。我正在使用 Nexus 5X API 28x86,现在我已经浪费了好几个小时试图修复它。重新启动一切,包括重新启动计算机。
如果没有列出进程怎么办?
@jave.web 它是进程等待状态的解决方案。
@RohitKumar 我知道,但我只在附加调试器中看到设备,但没有可供选择的进程:/
u
user2658370

调试器今天停止为我连接,在我尝试以下操作之前没有任何效果:

转到运行,编辑-配置,杂项选项卡,取消选中“如果 APK 未更改则跳过安装”应用,确定。

调试器再次开始连接。


Fudge,当其他答案不起作用(重新启动,删除“.idea”等)时,这对我有用。这个答案已经有5年多了,我用的是2021年底最新版本的AS。为什么谷歌还没有修复这个问题?即使他们无法找出根本原因,如果调试在一定时间内持续失败(无响应),他们也可以轻松地让 AS 忽略该设置并安装 APK....
N
Narshim

当您打开多个 Android Studio 实例时会出现此问题,因此您需要像上面提到的那样手动附加调试器。

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


要补充的一件事:也许你必须在关闭打开的实例后重新启动 android studio ......这对我有帮助!
另一个改进 - 如果您只打开另一个 IntelliJ IDEA,它确实会发生。不需要是android studio
Android Studio 无法在 Android Emulator 中开始调试,关闭 IntelliJ 解决了该问题。在 IntelliJ 中打开的项目甚至不是一个 Android 项目(而只是一个控制台 Kotlin 项目)。可能是因为 Android 组件安装在 IntelliJ 中。
C
Community

一个类似的问题是asked recently,该解决方案可能适用于某些人并且速度非常快。

清除包含对我有用的配置信息的 Intellij IDEA (Android Studio) .idea 目录:退出 Android Studio 导航到您尝试调试的项目 备份您修改的 .idea 中的所有文件(如果您的项目将其中任何一个检查到 VCS ) 删除.idea目录 在Android Studio中打开项目


这解决了问题。突然我无法在真实硬件或模拟器上调试。重新启动一切都没有用。我可以通过使用 Run -> Attach debugger to Android process 来获得,但一段时间后它会变得很烦人。正如 IDE 建议的那样,它在升级 gradle 后开始发生。
谷歌问题跟踪器中的仅供参考:issuetracker.google.com/issues/37117600
所有android studio问题的标准答案,重启:)。制作中的windws os..
没有帮助。消息仍然存在。
谢谢vman!我汗流浃背的子弹。无法调试对我来说是一场灾难,这解决了它。
J
John Ruban Singh

我在 android studio 3.0 中遇到了这个问题。刚重启设备就解决了。


谢谢你拯救我的一天,它工作正常。
K
Kai

我的两台开发机器都安装了 JDK 8,一旦安装了 JDK 7.0.71 并且将 JAVA_HOME 环境变量设置为指向新的 JDK,调试功能就会恢复。

猜猜 Android Studio + ADB + JDK8 之间存在一些兼容性问题(Eclipse + ADB + JDK8 工作正常)。


我有同样的问题,非常烦人,因为需要重启手机。使用 JDK 1.7.0b147
Android Studio 不正式支持 JDK 8 - 我在编译项目时遇到了问题,通过返回 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 来解决此问题。
J
Jeff T.

我尝试了排名前三的答案,但失败了。重新启动我的手机后,问题就解决了。不再需要长时间的“等待调试器”。


M
MyFoenix

https://i.stack.imgur.com/q2eWg.png


E
Eduardo Boada

当设备显示消息时,转到运行->附加调试器,然后选择一个调试器。它将开始活动。


太烦人了。在经过多年成功调试而没有出现任何问题后,今天才开始发生这种情况。
我通过工厂恢复我的设备来解决它。我需要尽快摆脱它。
B
Billy

这为我修好了。 Android Studio -> 文件 -> 使缓存无效并重新启动...


R
Ram Chhabra

我有同样的问题。重新启动我的 android 手机设备为我工作。


只有对我有用的答案。对于面临我们版本问题的人来说,这可能是正确的答案。
F
Fasiha

这个解决方案对我有用:

从我的设备设置中关闭 USB 调试,然后再次打开。

它比重新启动设备更快、更容易。


R
RAHUL JOSHI

它是如何为我工作的。

1 从工具 -> Android -> Android 设备监视器启动 Android 设备监视器

在设备列表中为您面临问题的进程单击停止。


d
diogo

大多数情况下,这是由于模拟器上的资源和线程过载造成的。甚至对于 GC 无法释放的对象的锁定:http://developer.android.com/intl/pt-br/tools/debugging/index.html

通常,一次重启就可以解决问题,但有时它会要求 IDE 重启,所以一定要进行两次测试。

另一个很好的测试是尝试以“启动模式”启动应用程序,然后再次尝试调试模式......

PS:不要忘记在每次测试后杀死IDE中的每个调试进程。这将防止您的环境更加过载。


V
Vicky

安卓工作室 3.0 及以上

禁用即时运行

https://i.stack.imgur.com/VhHHk.png


在 Android Studio 3.5.x 中,此选项变为 HotSwap
s
solamour

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


运行 IntelliJ Idea 时也是如此。您甚至无法附加调试器。
A
Ali Hussein Al-Issa

对我来说,问题是:Windows 的区域格式是阿拉伯文。我只是将区域格式更改为英语(美国)并且错误已修复。

修复步骤:

转到开始 -> 键入区域 -> 单击区域以打开区域窗口 -> 从格式下拉列表中,选择英语(美国) -> 单击确定。重启安卓工作室。

https://i.stack.imgur.com/BCCIV.png


X
Xinoon

我有同样的问题。重新启动我的 android 设备并关闭 adb.exe 进程。这样我就可以解决问题了


F
Fran Marzoa

好吧,我想有很多情况可以触发这个问题。我改用 IntelliJ Idea,但它与 Android Studio 基本相同。我对这个问题的解决方案:

最快的方式:

右键单击包含项目主要活动的类文件,然后单击“Debug 'WhateverActivity'”。这将创建一个可以正常调试的新运行配置。

其他解决方案,无需创建新的运行配置:

打开运行/调试配置并在“Android 应用”中选择您用于调试应用的配置。在那里找到“启动选项/启动”并将其设置为“指定活动”而不是“默认活动”。在上述选项正下方的“启动”字段中,单击三个省略号(三个点)按钮并选择您的主要活动。

至少它对我有用。我希望它也适用于其他人。


作为旁注,请注意 USB 集线器和劣质 USB 电缆。由于这些,我也遇到过这种问题。
A
Alexey

根据此解决方案解决了问题: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 后开始发生。
k
kudzai zishumba

打开命令提示符并转到 android sdk>platform-tools> adb kill-server

按回车

再次adb start-server

按回车


J
Juan Saravia

这些解决方案都不适合我。

在我的情况下,我正在调试一个来自 Intellij IDEA 的应用程序,同时使用 Android Studio。只需关闭 Intellij IDEA 并删除我正在调试的应用程序即可解决我的问题。


G
Gk Mohammad Emon

确保您的 Active Build Variantdebug

https://i.stack.imgur.com/Gb3Ol.png

如果您还想让您的 release 变体 APK 可调试,则在应用级别 build.gradle 中进行简单更改 -

buildTypes {
        release {
            debuggable true
            /*Your rest code*/
        }
    }

Y
Yusuf X

重新启动一切对我不起作用。当 Android Studio 自行疏通时,DID 的工作等待了几分钟。这是我第一次运行调试器;之后,Android Studio 迅速启动了调试器。


I
Igor

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

修复:您的“应用程序启动配置”可能存在问题(要验证此创建新项目以查看它是否工作正常)。只需删除应用配置,打开 MainActivity 文件并运行->调试(将创建新配置)


G
Gianluigi Liguori

有时这是由于在 build.gradle 配置中您必须设置节点:

  debug {
            debuggable true
        }

当您必须准备签名的 apk 时,将其更改回 false。

问候