@import url(http://www.shnenglu.com/cutesoft_client/cuteeditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://www.shnenglu.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版本即可。