1. 程式人生 > >【備忘】Android下編譯cocos2dx工程

【備忘】Android下編譯cocos2dx工程

@import url(http://www.cppblog.com/cutesoft_client/cuteeditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.cppblog.com/cutesoft_client/cuteeditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 1- 下載 adt bundle,解壓到/home/ide/adt-bundle-mac 2- 下載 ndk,解壓到/home/sdk/android-ndk-r8c (這裡的r8c是版本號) 3- 下載 cocos2dx-1.0.1-x-0.13.0-beta,解壓到/home/sdk/cocos2dx-0.13 4- 修改 cocos2dx-0.13 下的 create-android-project.sh 開頭的ndk的路徑和android sdk 路徑為 /home/sdk/android-ndk-r8c 和 /home/ide/adt-bundle-mac/sdk 5- 執行 create-android-project.sh,按照提示輸入應用名,id,工程名,然後會生成 <工程名> 這樣一個資料夾。 6- 在工程資料夾內的android資料夾,執行build-native.sh,會把cocos2dx和其他的cpp都編譯為一個libgame.so。 7- 用adt bundle帶的eclipse,新建一個other中的android project from exist code,資料夾指向 工程資料夾。 8- 編譯可能會出一個找不到圖示的錯誤,以及R相關的錯誤,這時候雙擊AndroidManifest.xml,在Application標籤頁,點選icon後面的...按鈕,選擇一個圖示,自動會產生一個R.java,各種引數都會配置好。 9- 最後編譯,在虛擬機器上執行即可。 【可能會出現的問題】 1- 出現eglconfigchooser異常    需要在src下的org.cocos2dx.lib包下的 Cocos2dxGLSurfaceView.java 裡 151行,setRenderer 前面加上一句 setEGLConfigChooser(8,8,8,8,16,0); 2- 在eclipse裡整合c++編譯    在工程屬性裡,增加新的Builder,型別為Program。    Main下面     location 選擇為專案android目錄下的 build_native.sh     working directory 選擇為專案目錄    Refresh下面      指定資源目錄到jni    Build Options下面      選中 Allocate Console (necessary for input)      選中 Run the builder 下的每個選項      制定資源目錄為jni    確定就可以了。在clean和確定後,系統會開始編譯c++程式碼。    【這裡可以考慮將cocos2dx的編譯和遊戲編譯分開,避免每次的重新編譯。】    【原來的build_native.sh將cocos2dx和聲音引擎編譯為.a庫,可以把他們和自己遊戲需要的其他輔助庫預先編譯】    【遊戲,則連結他們編譯為.so】 3- 如何設定ndk的目標版本     在project.properties檔案裡,target=android-<版本> 4- 如何設定目標apk版本     開啟AndroidManifest.xml,裡面的 uses-sdk下的 android:minSdkVersion 修改為指定的api版本即可。