无法在Android Studio中调试应用程序

99

我正在使用Android Studio制作应用程序,现在尝试通过adb进行调试。当我点击底部栏上的"Android"单词和标志时,logcat弹出并识别我的设备。然后我看到这个:

screenshot

我需要做些什么才能使我的应用程序变得“可调试”?

顺便说一句,我以前是在Eclipse中开发此应用程序,并且adb运行良好。


从设备中卸载应用程序并从Android Studio重新运行解决了我的问题。 - Ahmad Behzadi
4
今天我遇到了一个问题,断点不能停止程序。这是由于build.gradle的设置造成的。我将debug构建类型设置为minifyEnabled为true,去掉它后断点就可以使用了。 - castle bai
看一下我在这里的回答,那可能能解决这个问题。 - Muahmmad Tayyib
38个回答

115

在执行以下步骤后,我解决了这个问题:

转到“工具”==>“Android”==>禁用ADB集成,然后再启用它。

之后,将USB从设备拔出并重新插入。

最后按下shift + F9键。


这就是帮助我的东西。突然间调试停止工作了,之后又恢复正常了。 - Rui Santos
1
我只需要关闭并重新打开Android Studio,使该项目实例中的错误生效 :/ - Rachael
30
在Android Studio 3.1.3中,没有名为“Tools ==> android”的菜单项,我无法在任何地方找到此选项。 - James Watkins
1
Android Studio 4 菜单中没有任何 "adb" 选项。 - spartygw
5
使用此选项在Android Studio 4中重新启动ADB:工具->“故障排除设备连接” ,然后点击“下一步”按钮,最后在第四步找到ADB重新启动选项。 - Pratheesh
显示剩余6条评论

90

工具栏上有一个名为Debug的图标,看起来像一个小“虫子”,位于Run图标旁边(它看起来像一个播放按钮)。尝试使用此选项启动应用程序。

点击这里进行调试

注:当使用带Gradle的Android Studio时,以下内容已被弃用。

AndroidManifest.xml文件中也有一个调试标志。它位于应用程序标记下方,应设置为“true”,如下所示:

<application android:debuggable="true">
</application>

1
我们能否像Eclipse一样逐行执行代码? 如果可以,如何实现? - Ari R. Fikri
1
当然可以。一旦您触发了断点,调试窗口就会显示出来,顶部的工具栏包含各种步骤命令。您还可以从“文件”->“设置”->“键映射”配置各种调试键盘快捷方式,它们位于“主菜单”->“运行”下面。有关更多信息,请参见此处 - free3dom
7
最新版本的Android Studio不强制要求您设置android:debuggable,实际上它会显示一个波浪线,建议在配置文件中而不是清单文件中设置。这有助于避免意外发布带有调试信息的应用程序。 - Soundararajan
3
2015年的工作不起作用,build.gradle中添加了buildTypes{ debug { debuggable true } } - user3402040
2
这对我来说是工作。我在清单中放置了 <application android:debuggable="true"> </application>,并且能够完美地进行调试。谢谢。 - Andy Romero
显示剩余5条评论

42

还有一件需要注意的事情(我因此而知道,当然)。务必不要在调试时启用Proguard!


6
谢谢。我需要将 minifyEnabled 设为 false,将 shrinkResources 也设为 false。 - Janardhan R
在哪里可以找到这个? - MartianMartian

27

以下方法解决了我的问题:

  1. 关闭 Android Studio。
  2. 打开终端,并输入:

    adb kill-server

    adb start-server


正是我想要的。之前,我只需要通过一个简单的“adb reconnect”命令就可以完成这个操作,但在AS 3.1中它不再起作用了(也许是我的操作有误,或者不够?)。 - VictorB
顺便说一下,这个解决方案对我来说起作用了,而不需要关闭AS或终端会话。 - VictorB

23
    <application android:debuggable="true">
</application>

这个方法已经失效了!在清单文件中不需要使用debuggable="true"属性。

相反,您应该将构建变体设置为“debug”

调试模式

在Android Studio中,进入BUILD -> Select Build Variant

现在尝试进行调试。谢谢


Build菜单没有“选择构建变体”选项。 - Pete Alvin

21

即使在Android Studio中进行了多次调试,我也偶尔会遇到这个问题。有一天,调试器突然无法附加。我只需要退出Android Studio并重新打开它,调试器就能再次工作。


13

如果你的应用程序以前可以进行调试,现在突然不能进行调试了,这是我的解决方案:

  1. 在手机上关闭并重新打开 USB 调试 开关。
  2. 卸载你的应用程序。
  3. 在 Android Studio 中点击运行按钮。

检查“等待调试器”2022.10.17。Mac M1 Dolphin - MartianMartian

11

请确保您已启用ADB集成。

在菜单中:工具 -> Android -> 启用ADB集成(v1.0)


9

这种情况偶尔会发生在我身上,但我还没有找到原因。已经发布的解决方案都对我无效。唯一有效的方法是:

  1. 卸载设备上的应用程序。
  2. 清理项目。 "构建 -> 清理项目."
  3. 重新构建和安装。

8

在Android Studio中,一个可能会导致你无法调试应用程序的情况是你选择了“发布”构建变体。我也遇到过这种情况——Gradle构建了应用程序的发布版本(不可调试),然后Android Studio尝试连接调试器时失败了。


1
这个问题曾经让我困扰过很多次,甚至在其他的 IDE 中也会出现。我相信大部分 IDE 都可以配置在发布版本中进行调试,如果你想要将调试器附加到已发布的应用程序上,有时是必要的。 - visc

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