Android NDK中的Debug vs. Release版本

Kev*_*pue 9 debugging android release makefile android-ndk

我正在开发一个必须移植到Android的大型游戏引擎.所有代码都是C/C++,所以我们通过NDK移植.我已经掌握了一切,但经过大量的淘汰后,我仍然不确定构建我们的.so文件的Debug vs. Release版本的最佳方法是什么.每次手工换东西都会变老.

您是否为每个目标使用不同的Application.mk文件?或者有没有办法在jni /目录下的单个Android.mk文件中包含多个目标?或许第三个选项可能是编写一个标准的makefile来设置Android.mk文件用来通知构建过程的环境变量?

最后,关于必须在AndroidManifest.xml文件中设置的android:debuggable标志的最后一个问题.这实际上对生成的复制到设备的本机代码有什么影响?

最好的,谢谢,

凯文

dwe*_*ner 10

您是否为每个目标使用不同的Application.mk文件?

不.分开的子目录,都有自己的Android.mk(共享和静态库),但对我来说只有一个Application.mk.

我的Application.mk只是:

APP_STL := gnustl_static
APP_OPTIM := debug
Run Code Online (Sandbox Code Playgroud)

我仍然不确定构建我们的.so文件的Debug vs. Release版本的最佳方法是什么.每次手工换东西都会变老.

至少对我来说,它有点散布,使用jni/Android.mk + Application.mk布局.

Application.mk APP_OPTIM := debug 然后在AndroidManifest.xml的application元素中我有了android:debuggable="true" 当你使用ndk-build构建时,它使用这个manifest标志来确定优化(这对于关闭或打开,关闭以进行性能分析等很有用)

(一个小小的话题)我最近碰到了

https://code.google.com/p/android-ndk-profiler/

http://code.google.com/p/jrfonseca/wiki/Gprof2Dot结合使用时

生成一些漂亮的图像,以帮助我的小脑袋掌握手机本身的运行情况.