我们有一组“核心”本机代码将分发给Android开发人员,他们可以将其链接到他们自己的本机代码。所以在Android .apk中有两个.so。为了帮助调试,我们希望能够调试到我们的“核心”.so,当它没有在同一个项目中明确编译时。
澄清。
1)ndk-build NDK_DEBUG = 1在distributable。
中运行2)生成的“核心”.so包含在依赖项目的Android.mk文件中(本例中为测试应用程序)
3)我们在测试应用程序上运行ndk-build NDK_DEBUG = 1。
所有内容都将根据需要进行编译和运行,但我们只能调试到“test”.so。我对ndk-gdb如何在libs文件夹下使用gdb.setup文件(通过启用NDK_DEBUG创建)链接有一个高层次的理解。我目前正在尝试以某种方式包括两者。
有没有人做过类似的事情?我搜索了很多,发现没有结果。我们可以将“测试”项目和“核心”项目本机方面编译成单个.so并调试到任何本机源代码(核心或测试),遗憾的是,这不是对我们预期结果的良好测试。 / p>
由于
答案 0 :(得分:0)
我有同样的事情,你在第一次活动中加载库吗?否则gdb将不会加载它。检查这个问题:Android GDB is not loading c++ shared library