本文共 2945 字,大约阅读时间需要 9 分钟。
1、'ndk-build' OverviewI. 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-buildWhere $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=--> rebuild, using a specific Application.mk pointed to by the NDK_APPLICATION_MK command-line variable. ndk-build -C --> build the native code for the project path located at . 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"
解释: $NDK_ROOT -- NDK工具的根目录,在这里有ndk-build执行程序 -C "$APP_ANDROID_ROOT" -- 编译的工程,参看第一部分 $* -- shell脚本,传递给脚本或函数的所有参数。 总结:所以如果我们需要使用上面ndk-build命令的可选参数,直接在执行build_native.sh脚本时,添加在后面即可。 例子: $ ./build_native.sh clean
转载地址:http://utsmi.baihongyu.com/