看了看NDK的文檔....裏面老是莫名的會提下windows須要cygwin環境...python
可是cocos2d-x3.0alpha1 中,android
編譯samples的python腳本 cocos2d-x3/build/android-build.pywindows
或者新建工程的python腳本 cocos2d-x3/projects/<proj-name>/proj.android/build_native.pyui
裏面明顯沒有用到啥cygwin環境.blog
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根目錄class
jjj 是新建工程名字import
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腳本真的很方便.