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标志的最后一个问题。 这实际上对复制到设备的生成本机代码有什么影响?

最好的和谢谢,

凯文

  • 如何指定NDK_MODULE_PATH的目录
  • 如何编译Android的GCC?
  • Android NDK:中止停止?
  • 启用exceptionC ++
  • Android NDK:包括boost c ++库
  • Android.mk vs Application.mk
  • Android NDK:如何将Android.mk包含到另一个Android.mk(分层项目结构)中?
  • Android SDK突然缺少ant /文件夹。 谷歌删除了吗?
  • 你有不同的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”它适用于我。