Android-NDK编译:cocos2d-x(二)

时间:2022-10-19 23:51:56

看了看NDK的文档....里面总是莫名的会提下windows需要cygwin环境...

但是cocos2d-x3.0alpha1 中,

  编译samples的python脚本 cocos2d-x3/build/android-build.py

  或者新建工程的python脚本 cocos2d-x3/projects/<proj-name>/proj.android/build_native.py

  里面明显没有用到啥cygwin环境.

  

  python 里 设置了环境变量,然后执行了一条ndk-build命令,ndk编译就完成了.

  最后得出在CMD环境里执行NDK编译的命令:

  

E:\py\ccs\projects\jjj\proj.android>E:\T_GIT\android_dep\android-ndk-r8e\ndk-build -C E:\py\ccs\projects\jjj\proj.android NDK_MODULE_PATH=E:\py\ccs;E:\py\ccs\external;E:\py\ccs\cocos ANDROID_SDK_ROOT=E:\T_GIT\android_dep\adt_bundle-windows-x86-20130717\sdk NDK_ROOT=E:\T_GIT\android_dep\android-ndk-r8e NDK_TOOLCHAIN_VERSION=4.7

  ccs 是cocos2d-x根目录

  jjj 是新建工程名字

  NDK_ROOT 是NDK根目录

  NDK_MODULE_PATH 是 工程jjj/proj.android/jin/Android.mk里依赖的cocos库的 Android.mk 查找路径

    $(call import-module,SDL2-2.0.1) 这样的外部依赖,后面的SDL2-2.0.1只能填相对于NDK_MODULE_PATH的绝对路径

    不能填写依据LOCAL_PATH等推理出来的相对路径.

  ANDROID_SDK_ROOT 是android SDK根目录.

  在jjj/proj.android目录执行命令可以不用 -C 指定jni目录.

  NDK跟目录设置到windows PATH的话,可以直接用ndk-build,不用全路径

--------------------------------------

python脚本中 ,NDK_MODULE_PATH 、NDK_ROOT 、ANDROID_SDK_ROOT 都设置到了python的环境变量里

    这点比较特殊,在windows 环境变量中增加这些名字的环境变量,没有作用,或者引用环境变量方法不对...

    如果没在CMD命令中指定这些值,编译会报各种找不到的错误.

    但这些设置的变量在python的环境变量os.environ中可以找到.

    (2013-12-22 11:43:07 windows 环境变量使用方法: %NDK_ROOT%  ,也使用echo输出)

------------

最后,

  理解了下NDK在windows平台下的编译,

  用python脚本真的很方便.