標籤:android style blog http io os 使用 java for
先給自己科普一下, android sdk 是給java開發人員用的, 咱C++開發人員用的是android ndk, 所以就是使用ndk來編譯cocos2dx程式了
使用命令列建立一個項目, 我這裡建立的是一個lua項目:cocos new lua_proj2 -p com.company_name.program_name -l lua -d d:\xxx\xxx
此時建立了一個DEMO程式, 此時就可以使用cocos命令產生一個apk包, 進入到目錄lua_proj2\frameworks\runtime-src下面, 在此目錄下面執行命令cocos compile -p android 就會產生一個apk包, 把這個拖到genymotion上面, 就安裝跑起來了.
上面說的是不使用eclipse的方式來產生一個apk包, 下面記錄一下在eclipse中載入lua_proj2這個項目, 並產生apk包的過程. 為什麼一定要將cocos2dx項目匯入到eclipse中來產生apk包呢, 因為在eclipse中可以串連AVD來調試android程式, 再者, eclipse可以運行在linux環境下面, 後面我打算在linux進行開發, 所以這一步是一定要跨出去的
開啟eclipse, 載入lua_proj2項目, 在此注意一下, 不需要載入libcocos2dx這個項目, 只要載入lua_proj2這個自己建立一項目即可
在eclipse中右擊lua_proj2 -> Properties. 出現Properties for lua_proj2框框
建立一個新的builder
第一個紅框是builder名稱, 隨便填寫, 第二個紅框框是NDK產生工具, 即, 使用此工具來編譯C++項目, 第三個紅框框是工作目錄, 此處我使用lua_proj2項目目錄作為工作目錄, 切換到Environment選項卡, 建立一個在此產生器中使用的環境變數NDK_MODULE_PATH, 值是......\lua_proj2\frameworks\cocos2d-x\cocos;......\lua_proj2\frameworks\cocos2d-x;......\lua_proj2\frameworks\cocos2d-x\external, 前面的.......是絕對目錄的省略, 這裡要輸入絕對路徑名稱, 在此我就不寫絕對路徑了.
一路OK下去, 到下面這個畫面
這個就建立立的builder, Project->Build Project
出現大量的error: ‘override‘ does not name a type錯誤, 這是由於NDK的版本太低了, override是C++11中才有的關鍵字, 而到NDKr10才支援C++11, 所以要升級NDK. 到官網去下載吧http://developer.android.com/tools/sdk/ndk/index.html#Installing不大, 400多M的樣子, 更新完成之後, 看一下ndk\toolchains目錄下面的編譯器, 我的目錄是下面這樣子的我很想使用clang來編譯, 但是現階段我還不會配置, 就用GCC吧, x86-4.6 & x86-4.8兩個版本的GCC, 4.8的支援C++11在Application.mk中添加一句NDK_TOOLCHAIN_VERSION = 4.8 就是指定使用GCC4.8來編譯cocos2dx項目, 跑起來了, 下面是eclipse跑起來的console輸出跟命令列下執行cocos compile -p android 跑出來的是一樣的, 都是在編譯器. 下面進入到在eclipse下面偵錯工具
eclipse下編譯cocos2dx 3.0