使用不同的mk文件构建NDK以进行发布/调试

时间:2014-01-05 09:05:16

标签: android android-ndk ndk-build

我们有一个设置,我们的Android游戏包含一些使用ndk-build构建的本机库。

我们的项目包含以下结构:

Root
 |
 |-- jni
      |
      |-- Android.mk   // $include ( lib.mk ) and ( photon/photon.mk)
      |-- lib.mk
      |-- photon
            |
            |----- photon.mk
            |----- debug_android_armeabi.mk
            |----- release_android_armeabi.mk

其中一个构建的库(Photon)除了主要文件外还附带了2个附加文件 - 一个用于调试,一个用于发布。

我的问题是 - 如何将此信息传递给ndk-build,以便在构建时获取正确的附加mk文件?

1 个答案:

答案 0 :(得分:8)

可能您的photon.mk看起来像

...
ifdef DEBUG
  include debug_android_armeabi.mk
else
  include release_android_armeabi.mk
endif
...

这样你可以简单地使用

ndk-build DEBUG=1

如果你想依靠release/debug buildndk官方功能,你可能更喜欢

...
ifeq ($(APP_OPTIM),debug)
  include debug_android_armeabi.mk
else
  include release_android_armeabi.mk
endif
...