'ndk-build' Overview
I. Usage:
The Android NDK r4 introduced a new tiny shell script, named 'ndk-build', to simplify building machine code.
The script is located at the top-level directory of the NDK, and shall be invoked from the command-line when in your application project directory, or any of its sub-directories. For example:
cd $PROJECT
$NDK/ndk-build
Where $NDK points to your NDK installation path. You can also create an alias or add $NDK to your PATH to avoid typing it every time.
II. Options:
All parameters to 'ndk-build' are passed directly to the underlying GNU Make command that runs the NDK build scripts. Notable uses include:
ndk-build --> rebuild required machine code.
ndk-build clean --> clean all generated binaries.
ndk-build NDK_DEBUG=1 --> generate debuggable native code.
ndk-build V=1 --> launch build, displaying build commands.
ndk-build -B --> force a complete rebuild.
ndk-build -B V=1 --> force a complete rebuild and display build
commands.
ndk-build NDK_LOG=1 --> display internal NDK log messages
(used for debugging the NDK itself).
ndk-build NDK_DEBUG=1 --> force a debuggable build (see below)
ndk-build NDK_DEBUG=0 --> force a release build (see below)
ndk-build NDK_HOST_32BIT=1 --> Always use toolchain in 32-bit (see below)
ndk-build NDK_APPLICATION_MK=<file>
--> rebuild, using a specific Application.mk pointed to by
the NDK_APPLICATION_MK command-line variable.
ndk-build -C <project> --> build the native code for the project
path located at <project>. Useful if you
don't want to 'cd' to it in your terminal.(摘自NDK说明文档NDK-BUILD.html)
2、
我们看到上面ndk-build有很多可选参数,那在cocos2dx中,这些参数使用的呢?
我们都知道在2.X版本中,我们都是通过build_native.sh脚本,编译cocos2dx项目,
那么我们怎么通过build_native.sh脚本使用上面的参数呢?
下面是从build_native.sh脚本中摘出来的:
if [[ "$buildexternalsfromsource" ]]; then
echo "Building external dependencies from source"
"$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DXTALKINGDATA_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/source"
else
echo "Using prebuilt externals"
"$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DXTALKINGDATA_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"
fi看下这部分:
"$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DXTALKINGDATA_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"
原文:http://blog.csdn.net/tianxiawuzhei/article/details/44589487