debugging与发布在Android NDK中构build

我正在研究一个必须移植到Android的大型游戏引擎。 所有的代码都是C / C ++,所以我们通过NDK移植。 我已经完成了所有的工作,但是在大量的search之后,我仍然不确定构buildDebug和Release版本的.so文件的最好方法是什么。 每次手工更换东西都变老了。

你有不同的Application.mk文件的每个目标? 或者有什么方法可以在jni /目录下的单个Android.mk文件中包含多个目标? 或者第三个选项可能是编写一个标准的makefile来设置Android.mk文件用来通知构build过程的环境variables?

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

最好的和谢谢,

凯文

Solutions Collecting From Web of "debugging与发布在Android NDK中构build"

你有不同的Application.mk文件的每个目标?

编号分开的子目录,所有的都有自己的Android.mk(共享和静态库),但我只有一个Application.mk。

我的Application.mk只是:

APP_STL := gnustl_static APP_OPTIM := debug 

我仍然不确定构buildDebug和Release版本的.so文件的最佳方法是什么。 每次手工更换东西都变老了。

至less对于我来说,使用jni / Android.mk + Application.mk布局有点分散。

Application.mk有APP_OPTIM := debug然后在AndroidManifest.xml的应用程序元素中,我有android:debuggable="true"当你使用ndk-build构build时,它使用这个清单标志来确定优化(这对于closures开机,关机等)

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

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

其中,与http://code.google.com/p/jrfonseca/wiki/Gprof2Dot结合使用

生成一些漂亮的图像,以帮助我的小脑袋掌握如何在手机本身运行。

您不需要使用Android.mk系统来构build您的.so。 就我个人而言,我使用我自己的Makefile与我需要的目标,这允许非常标准化的debugging与发布构build规范。

我使用单个文件为不同的目标构build一个库。 在Application.mk中添加这个“APP_ABI:= armeabi armeabi-v7a”它适用于我。