如何使用Android Studio 2.2.3调试外部本地库的C++源代码?

 2023-01-19    423  

问题描述

我有一个由Android Studio 2.2.3在Windows 10下创建的Android项目,该项目通过其包装罐(通过JNI)使用本机库.本地库是由Qmake在Android Studio之外构建的,该库将在Android NDK R13B中使用GCC 4.9生成本机共享库,该代码已使用-g选项编译.

要使用此本机库,我将包装jar放在<proj_path>/app/libs目录和<proj_path>/app/src/main/jniLibs/armeabi-v7a下的本地库下,一切正常,我可以成功地调用本机库中从Java代码实现的方法.

如何使用Android Studio 2.2.3调试外部本地库的C++源代码?

问题是,当我调试此Android项目时,我在CPP文件中设置的断点未生效,请注意,CPP文件不在Android项目的源树中,我只是从Android Studio.我已经安装了最新的LLDB,并开始使用”混合”调试类型进行调试,我还使用”图像列表” lldb命令确认调试时加载的本机库图像是未插入的版本.但是断点不会击中.

我的配置有什么问题?

有人可以给我一些建议吗?

谢谢!

推荐答案

如果您的程序正在通过预编译的代码运行,则您如何期望AndroidStudio达到断点?如果您在记事本++应用程序中的”源代码” Say中放置断点,那将是相同的.相反,您必须告诉您的项目/代码以使用源代码,而不是预编译的LIB.为此,删除所有.SO文件并链接源代码,因此NDK将从那里编译.

以上所述是小编给大家介绍的如何使用Android Studio 2.2.3调试外部本地库的C++源代码?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/25773.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。