调试Android Native位于依赖的eclipse项目中

时间:2013-03-30 00:14:51

标签: android eclipse debugging android-ndk

(ADK 21,NDK r8d,Eclipse Juno) [我已经使用ADK / NDK等构建了几个Android应用程序如此体面的经验]

Eclipse项目设置:

- AppProject (android, java, no jni)
- LibProject (android, java, Yes jni)

以前,所有这些都在一个项目中 - 构建正常,运行良好,本机调试工作得很好。

然后我拆分了“可重用”部分,以创建一个公共代码库,用于多个“AppProject”应用程序前端。 (一切仍然构建,链接,打包,并运行正常)

但是,当我运行“AppProject”时,我无法再调试本机库。

解决方案是什么?

可能的选项#1:

- Modify "LibProject" Android.mk to export a PreBuilt that is used by AppProject?
- (I would have all the debug symbols so I'm thinking that would work okay)

我是否还需要创建AppProject?换句话说,它有一个Android.mk从LibProject导入输出.so

可能的选项#2

- http://stackoverflow.com/a/14344377/735533
- that workaround uses ndk-gdb
- I'm hoping for a solution where I can debug LibProject in Eclipse directly when running AppProject

在运行主应用程序“AppProject”时,是否有更好的方法来调试依赖项目“LibProject”中的本机代码?

蒂亚

1 个答案:

答案 0 :(得分:0)

对于那些好奇的人......

  • 我试过prebuilts ......
    • 这绝对是最佳选择(测试项目设置有效)
    • 但是 my 代码库的结构对本机/非本机串扰有点沉重,并且不想花时间(还)进行适当的重组。< / LI>
    • 但是,作为预建的重组现在是我的“重要待办事项”列表

任何地方,这是我的解决方案。

在Linux(unix flavors)上...使用链接 - 来源链接到LibProject的每个AppProject。

基本上,“LibProject”在开发过程中成为一种“模板” - 它不是直接构建或用作库。相反,每个AppProject都成为自给自足的独立应用程序,其中库项目的内容嵌入在自己的代码树中。最好的部分是本机调试再次像魅力一样。

虽然有点打败了制作点,但有一些好处 - “库”部分的一个共同代码库......这正是我现在所渴望的。

此外,转换为Application项目用作真正的库依赖项,例如,最终版本构建是一个简单的转换。一旦调试并准备就绪,可以单独构建库,通过应用程序“前端”正常打包,并独立于应用程序进行升级。