我正在开发一个必须移植到 Android 的大型游戏引擎。所有代码都是 C/C++,因此我们通过 NDK 进行移植。我已经构建了所有内容,但经过大量搜索后,我仍然不确定构建 .so 文件的调试版本与发布版本的最佳方法是什么。每次都用手改变东西已经很老了。
每个目标都有不同的 Application.mk 文件吗?或者是否有某种方法可以将多个目标包含在 jni/ 目录下的单个 Android.mk 文件中?或者第三种选择可能是编写一个标准 makefile,设置 Android.mk 文件用来通知构建过程的环境变量?
最后,最后一个问题是关于必须在 AndroidManifest.xml 文件中设置的 android:debuggable 标志。这实际上对复制到设备的生成的本机代码有什么影响?
最好的,谢谢,
Kevin
每个目标都有不同的 Application.mk 文件吗?
不。单独的子目录,都有自己的 Android.mk(共享和静态库),但对我来说只有一个 Application.mk。
我的 Application.mk 只是:
APP_STL := gnustl_static
APP_OPTIM := debug
我仍然不确定构建 .so 文件的调试版本与发布版本的最佳方法是什么。每次都用手改变东西已经很老了。
至少对我来说,使用 jni/Android.mk + Application.mk 布局有点分散。
Application.mk有APP_OPTIM := debug
然后在 AndroidManifest.xml 的应用程序元素中我有android:debuggable="true"
当您使用 ndk-build 构建时,它使用此清单标志来确定优化(这对于关闭或打开、关闭分析等很有用)
(有点题外话)我最近遇到
https://code.google.com/p/android-ndk-profiler/ https://code.google.com/p/android-ndk-profiler/
其中,当与http://code.google.com/p/jrfonseca/wiki/Gprof2Dot http://code.google.com/p/jrfonseca/wiki/Gprof2Dot
生成一些漂亮的图像来帮助我的小头脑了解手机本身是如何运行的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)