利用Cgywin編譯工具來將cocos2dx 在Android運行所需要的C++文件編譯
1. ./build_native.sh(最后一把執行出錯)
please define NDK_ROOT in cocos2d-2.0-x-2.0.2
配置環境變量:key: NDK_ROOK
values: 你配置的NDK環境目錄,Linux和Windows下目錄各按系統不同而不同
2. make: *** [obj/local/armeabi/objs/cocos2dx_static/platform/android/CCCommon.o] Error 1
我裝的是ndk-9r,就報這錯誤了.然后查閱一番之后說什么應該用ndk-r8e.....
3. Cocos2d-x學習筆記(3:WIN7下將VS2010中win32 cocos2d-x 2.0.2和2.1工程移植到android環境)
挺權威的。
環境&軟件&工具包:
windows xp
cocos2dx 2.1.4
cygwin-x86.exe windows下模擬編譯環境
4. 配置這cocos2dx-android真是費神啊。下面簡要說明以下步驟:
按照高中學數學的方法,推導法來解決這一配置“難題”。
1. 既然需要在Android平台下運行cocos的工程,那么就需要一個Android工程吧,另外需要調用cocos引擎API和C++編譯庫來實現吧。
2. Anroid工程需要創建,那要不要自己手動去創建一個呢, 官網已經給出了操作步驟。 那C++編譯庫怎么生成呢,google一下cocos在windows的配置環境就知曉了,在win下需要一個模擬編譯環境,這個就需要cgywin軟件,這軟件很小但是里面綁定下載的工具很多,如果你全點了INSTALL,那么恭喜你。 花兩頓飯的時間估計都不夠,整整有4.6個G!!!這里我們在select輸入欄中 敲上make。隨后將出來的結果全點成INSTALL就成(別點上面的父類 all 那就和你全部安裝沒啥區別了,點選安裝好像要點兩次, 有default、intall、reintall、unstall四個狀態)。
在這里說這么多就是因為我沒裝make打包的相關工具,在proj.android/bulid_native.sh 編譯C++代碼時,最后一步無法將編譯后的C 去make打包成libxxx.so庫
如果你發現還是編譯不成功,認真查看錯誤原因,可能你會看到load global ndk environment fail 加載全局的ndk環境失敗,原因就在於你有沒有配置ndk環境變量。
3. 如何創建一個Anroid工程呢? 在cocos解壓下的文件夾下,有個create-android-project.bat ,這里他點擊之后,主要執行:先載入你配置的NDK、SDK、cygwin環境路徑,然后依次按步驟並提示你:指定工程包名 -> 工程名 -> 選擇工程Android API的版本 over
那么你要做的就是打開上面bat文件,找到
:: modify it to work under your environment
set _CYGBIN=Q:\cgywin\bin
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4
:: modify it to work under your environment
set _ANDROIDTOOLS=Q:\android-sdks\tools
if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5
:: modify it to work under your environment
set _NDKROOT=Q:\android-ndks\android-ndk-r8e
if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6
萬事俱備,那就可以順着思路(先配置好環境然后再執行命令)。 如果還是出現了錯誤:
比如到最后了,Hello World就是看不到cocos可愛的畫面,並且還報出
08-15 17:34:24.919: E/AndroidRuntime(17557): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load game: findLibrary returned null
呵呵,就是這錯誤 讓重復很多次配置環境的路!!! 去cocos官網論壇上,就是說 無法加載這庫是因為你的NDK 環境變量沒有配置。
但是我檢查了我的確實是有,不然在bulid_native.sh這一步就會抱錯的。
最后還是參照官網的配置步驟:先create project 然后使用bulid_native.sh命令將C++庫打包
<application android:label="@string/app_name" android:icon="@drawable/icon"> and change it by the correct icon name: <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> And, before you close AndroidManifest.xml, modify android:minSdkVersion to be: <uses-sdk android:minSdkVersion="14"/> and Save the file.
點擊這里:cocos2dx官網