cocos2dx的Android環境搭建(Windows/Mac)html
我用的cocos2dx3.15版本的。java
如下步驟是在Windows平臺執行的。python
建立Cocos2d-x項目
將剛纔下載的cocos2dx3.15壓縮包解壓到你指定的文件夾裏。android
進入到目錄cocos2d-x-3.15/tools/cocos2d-console/bin/cocos.pyc++
打開終端運行cocos.py腳本建立文件windows
python cocos.py new test -p com.coco2dx.org -l cpp -d ~/Desktop
參數說明:android-studio
- test爲項目名稱
-p
後面接包名
-l
後面接開發語言類型,有cpp, lua, js三種類型
-d
後面接項目存放的目錄
編譯libcocos2dlua.so文件
eclipse(不太推薦,谷歌已經放棄eclipse)app
- 建立一個空的android工程(個人工程是 TestAndroidCC)
- 進入到剛剛建立的cocos2dx工程的proj.android
目錄下(個人是:D:\workspace\Cocos2dx_Pro\JXKJ_GAME\frameworks\runtime-src\proj.android)
- 打開終端,執行 cocos compile -p android -android(由於cocos取消了執行build_native.py腳本編譯的方式,統一用cocos命令,環境配置好了就能夠直接執行cocos命令,若是cocos2dx命令未找到,說明環境配置有問題)或者能夠執行 python D:\cocos2d-x\cocos2d-x-3.15\tools\cocos2d-console\bin\cocos.py compile -p android -android
- 等待編譯完成後,找到libcocos2dlua.so文件(在libs/armeabi目錄下)
- 把剛剛編譯好的so文件所在的文件夾複製到TestAndroidCC目錄下的libs文件夾下
- 把cocos2dx的資源目錄(res和src文件夾)複製到TestAndroidCC的assets目錄下
- 把cocos2dx3.15引擎D:\cocos2d-x\cocos2d-x-3.15\cocos\platform\android\java\src目錄下的org文件拷貝到TestAndroidCC/src目錄下
-
- 在MainActivity.java的同級目錄建立一個新Activity文件(名字本身定義,個人是GameActivity)繼承Cocos2dxActivity(別忘了導入包import org.cocos2dx.lib.Cocos2dxActivity;)
- 在AndroidManifest.xml 添加對新Activity的配置,添加註冊新的GameActivity
- 參考cocos2dx遊戲項目的AndroidManifest.xml文件,對TestAndroidCC的AndroidManifest.xml作改動
-
- 在activity_main.xml佈局裏添加一個button,而後在MainActivity裏添爲button添加事件
-
- 編譯運行TestAndroidCC,我用的是 夜神模擬器
Android Studioeclipse
- 建立一個空的android工程(個人工程是 TestAndroid)
- 進入到剛剛建立的cocos2dx工程的proj.android-studio
目錄下(個人是:D:\workspace\Cocos2dx_Pro\JXKJ_GAME\frameworks\runtime-src\proj.android-studio)
- 打開終端,執行 cocos compile -p android --android-studio(由於cocos取消了執行build_native.py腳本編譯的方式,統一用cocos命令,環境配置好了就能夠直接執行cocos命令,若是cocos2dx命令未找到,說明環境配置有問題)或者能夠執行 python D:\cocos2d-x\cocos2d-x-3.15\tools\cocos2d-console\bin\cocos.py compile -p android --android-studio
- 等待編譯完成後,找到libcocos2dlua.so文件(找了很久,發如今D:\workspace\Cocos2dx_Pro\JXKJ_GAME\frameworks\runtime-src\proj.android-studio\app\build\intermediates\transforms\mergeJniLibs\debug\folders\2000\1f\main\lib)
- 在app/src/main目錄下新建一個jniLibs(名字必須是這個一個字母都不能差)文件夾,把剛剛編譯好的so文件所在的文件夾(armeabi文件夾)複製到jniLibs文件夾下
- 在TestAndroid項目中導入Module,右擊項目文件 - new - Module - Import Eclipse ADT Project導入D:\cocos2d-x\cocos2d-x-3.15\cocos\platform\android\java目錄,libcocos2dx的Module導入成功
- 對TestAndroid添加libcocos2dx的引用,右擊項目文件 - app - Dependencies添加libcocos2dx
-
- 把cocos2dx的資源目錄(res和src文件夾)複製到TestAndroid的src/main/assets目錄下(若是沒有assets文件夾:右擊TestAndroid項目下的app文件夾 - new - Folder - Assets Folder建立)
-
- 在MainActivity.java的同級目錄建立一個新Activity文件(名字本身定義,個人是GameActivity)繼承Cocos2dxActivity(別忘了導入包import org.cocos2dx.lib.Cocos2dxActivity;)
- 在AndroidManifest.xml 添加對新Activity的配置,添加註冊新的GameActivity
- 參考cocos2dx遊戲項目的AndroidManifest.xml文件,對TestAndroidCC的AndroidManifest.xml作改動
-
- 在activity_main.xml佈局裏添加一個button,而後在MainActivity裏添爲button添加事件
-
-
- 編譯運行,我用的是 夜神模擬器
-
若是想要退出遊戲返回應用界面①cocos2dx lua項目:cc.Director:getInstance():endToLua() ②cocos2dx c++項目:cocos2d::Director::getInstance()->end();佈局
注意事項:編譯so的時候失敗,緣由多是NDK版本太高,也有多是sdk tools版本太高,建議下載舊一點的tools,我下載的是tools_r25.2.5-windows.zip,替換Android-SDK下的tools