Android Studio 调试器启动/加载时间过长

Posted

技术标签:

【中文标题】Android Studio 调试器启动/加载时间过长【英文标题】:Android Studio debugger taking too long to start/load 【发布时间】:2017-03-07 02:35:41 【问题描述】:

我最近安装了 NDK,并在 jni 上工作了一段时间。我现在再次转移到我的正常 android 工作,但现在当我应用调试器时,调试器需要太多时间来加载。它加载了许多 so 文件以及调试本机代码/ jni 相关内容所需的所有文件。我想禁用它,以便调试器知道我不想调试任何 cpp 文件。我正在使用 Android Studio 2.2.2,我尝试将调试器的“调试类型”从“编辑配置”设置为“Java”,但它没有帮助我。在声明调试器时,它仍然会加载 LLDB 服务器和相关的 so 文件。

任何帮助将不胜感激.. !!!

【问题讨论】:

【参考方案1】:

首先运行app,然后点击“attach debugger to android process”按钮,它会打开一个选择进程对话框,将调试器从'auto'设置为'java'。

【讨论】:

太棒了!快速问:那么为什么常规调试按钮的运行速度不如这次运行并稍后附加? 哇,不是一个好的设计。这通常是自动的,几个月甚至几年都没有意识到我必须手动附加它。【参考方案2】:

可能是因为你在你的App中引入了C++原生库,只调试java,点击Run > Edit Configurations,然后在debugger 选项卡,将 Debug Type 更改为 Java

根据docs:

因为调试 Java/Kotlin 需要不同的调试器工具 代码和 C/C++ 代码,Android Studio 调试器允许您选择 使用哪种调试器类型。默认情况下,Android Studio 决定哪个 根据在项目中检测到的语言来使用调试器 (使用自动调试器类型)

可用的调试类型包括:

自动

自动为您正在调试的代码选择最佳选项。 例如,如果您的项目中有任何 C 或 C++ 代码,Android Studio 自动使用双调试类型。否则,安卓 Studio 使用 Java 调试类型。

Java

如果您选择此调试类型 只想调试用 Java 或 Kotlin 编写的代码——Java 调试器 忽略您在本机代码中设置的任何断点或监视。

本机(仅适用于 C/C++ 代码)

如果您愿意,请选择此调试类型 仅使用 LLDB 来调试您的代码。使用此调试类型时,Java 调试器会话视图不可用。默认情况下,LLDB 只检查 您的本机代码并忽略 Java 代码中的断点。如果你 还想调试您的 Java 代码,您应该切换到 自动或双调试类型。如果您希望 Android Studio 使用,请选择此调试类型

【讨论】:

谢谢!!拯救了我的一天 为我工作。谢谢@Amin

以上是关于Android Studio 调试器启动/加载时间过长的主要内容,如果未能解决你的问题,请参考以下文章

当我在没有调试器的情况下方便地启动 Android Studio 应用程序时崩溃

在 Visual Studio 2019 中首次启动时,Android 模拟器未显示在调试菜单中

Android Studio 没有链接到华为调试设备。设备可以启动,但没有出现在设备选择列表中

设备上的 Android Studio 慢速调试

如何在 Android Studio 中为 Flutter 上的小部件测试进入调试模式?

Android Studio 调试器无法打开选定的 VM 调试端口 (8700)