在 Android Studio 中调试原生代码

Posted

技术标签:

【中文标题】在 Android Studio 中调试原生代码【英文标题】:Debug native code in Android Studio 【发布时间】:2015-08-23 03:55:05 【问题描述】:

Google I/O 2015 承诺。为此,您需要通过 SDK 管理器安装 ndk-bundle 并将 android Studio 更新到最新版本(Canary 分支)。下一步该怎么做?怎么设置?这是源代码的链接。 Source

【问题讨论】:

解释升级到整个开发环境的细节对于我们来说有点太多了。 那么,你说最好把当前的Android Studio和SDK去掉再安装新的? 【参考方案1】:

实际上,即使您下载 ndk-bundle 并将 Android Studio 更新到金丝雀频道中的最新版本(截至目前为 1.3-preview3),宣传的 NDK 支持仍然不可用。

SDK 工具团队表示 NDK 支持 Android Studio 1.3 的wasn't part of the first previews。不过它应该很快就会发布 - 他们最近提到了 6 月中旬作为目标。

更新:调试支持现已推出。在最初提出问题时情况并非如此 - 感谢从那时起的所有反对票:) 请查看下面的 donturner 的答案。

【讨论】:

现在出来了 :) android-developers.blogspot.com/2015/07/…【参考方案2】:

2016 年 6 月更新:在 Android Studio 2.1 中,默认运行配置支持原生调试,因此除非您使用的是旧版本,否则无需执行以下操作。

对于旧版本: 以下是在 Android Studio 中调试原生代码的方法:

转到运行->编辑配置 点击+号 选择“Android Native”作为配置类型 在“模块”下拉列表中选择您应用的模块 在 C/C++ 代码中添加断点 运行->调试...

应该部署应用程序,lldb 调试器将在大约 10 秒后附加。

注意:在“Native Debugger”部分下创建调试配置时,您可以选择gdb,但它的支持不如lldb 好,并且已知是越野车。使用风险自负。

【讨论】:

我相信 gdb 自 AS v.1.4 起已停止使用。 “在模块下拉列表中选择您应用的模块”在 General Tab v2.1 Android Studio 中 没有“Android Native”这样的选项。 不再支持“Android Native”运行配置,因为“Android Application”配置现在完全支持原生调试。 所以它已经到了谷歌的大部分文档都是错误的地步,并告诉你做一些不再有效的事情。就像选择“Android Native”配置一样。好的。所以直接在 C++ 代码中设置断点现在可以在最新的 Android Studio 中正常工作。

以上是关于在 Android Studio 中调试原生代码的主要内容,如果未能解决你的问题,请参考以下文章

如何在 NDK 原生代码中获取断点并在 Android Studio 中调试原生代码?

如何使用 Android Studio 调试原生反应原生库?

本机代码中的断点无法在 Android Studio 上命中 [重复]

使用 Android Studio 调试 Android NDK

Android Studio 调试技巧

Android Studio 调试