(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”中的本机代码?
蒂亚
答案 0 :(得分:0)
对于那些好奇的人......
任何地方,这是我的解决方案。
在Linux(unix flavors)上...使用链接 - 来源链接到LibProject的每个AppProject。
基本上,“LibProject”在开发过程中成为一种“模板” - 它不是直接构建或用作库。相反,每个AppProject都成为自给自足的独立应用程序,其中库项目的内容嵌入在自己的代码树中。最好的部分是本机调试再次像魅力一样。
虽然有点打败了制作点,但有一些好处 - “库”部分的一个共同代码库......这正是我现在所渴望的。
此外,转换为Application项目用作真正的库依赖项,例如,最终版本构建是一个简单的转换。一旦调试并准备就绪,可以单独构建库,通过应用程序“前端”正常打包,并独立于应用程序进行升级。