2

我们有一套“核心”本机代码,将分发给 Android 开发人员,他们可以从中将其链接到他们自己的本机代码。所以Android .apk中有两个.so。为了帮助调试,我们希望能够调试到我们的“核心”.so 当它没有在同一个项目中显式编译时。

澄清。

1) ndk-build NDK_DEBUG=1 在可分发文件中运行。

2) 生成的“核心”.so 包含在我们的依赖项目的 Android.mk 文件中(在本例中为测试应用程序)

3) 我们在测试应用程序上运行 ndk-build NDK_DEBUG=1。

一切都会按要求编译和运行,但我们只能调试到“测试”.so。我对 ndk-gdb 如何使用 libs 文件夹下的 gdb.setup 文件(通过启用 NDK_DEBUG 创建)链接有很高的了解。我目前正在尝试以某种方式将两者都包含在内。

有没有人做过类似的事情?我已经搜索了很多,但没有找到任何结果。我们可以将“测试”项目和“核心”项目的本地方面编译成一个 .so 并调试到任何本地源代码(核心或测试),不幸的是,这不是对我们预期结果的良好测试。

谢谢

4

1 回答 1

0

我有同样的事情,你是在你的第一个活动中加载图书馆吗?否则 gdb 将不会加载它。检查这个问题:Android GDB is not loading c++ shared library

于 2014-02-04T09:44:30.180 回答