1. 程式人生 > >Windows下生成cocos2d-x新專案並編譯執行

Windows下生成cocos2d-x新專案並編譯執行



下面的方法在win7Win10平臺上,對cocos2d-x-3.14.1cocos2d-x-3.16兩個版本都試過,沒有問題。

開發環境搭建

已經搭建好環境的,這部分可以直接跳過。網上有大量教程,在此只是簡略描述下。安裝安卓開發環境推薦使用CodeWorksforAndroid-1R5-windows.exe。這是一鍵安裝安卓開發包,安裝中最好開啟翻牆工具。邊下載邊安裝,需要耐心等待。

一、win7 64位系統搭建Android開發環境需要的軟體

1cocos2d-x 3.16

2Visual Studio 2013

3Android SDK (其中包括Eclipse

4Android NDK

5Ant

6Python 2.7.xcocos要求必須是2.7的各個版本,不要下載3.x版本。

二 軟體安裝

1Visual Studio 2013

2Python 2.7.x

3JAVA JDK。需要使用較高的版本,例如jdk1.8.0_77,之前使用jdk1.7.0_71編譯會報錯。如果編譯報錯,檢查下環境變數裡JAVA_HOME的值,看看是不是用的是低版本的。這個坑花了我一個小時排查。

4cocos2d-x 3.16Android SDKAndroid NDKAnt 這些軟體都是解壓包,不需要安裝,解壓就可以。

建立新專案

1、開啟引擎根目錄,例如“D:\GameEngines\Cocos\cocos2d-x-3.16”,按Shift+滑鼠右鍵,開啟命令列視窗。

2、執行“setup.py”。按照提示設定環境變數(ant的路徑需要帶bin,如D:\SDKs\NVPACK\apache-ant-1.8.2\bin)。需要重啟命令視窗或者重啟電腦。

3、鍵入“cocos new專案名稱 -p 包名 -l 語言cpp -d 專案路徑”,如:“cocos new DavidTest -p com.CrazyEngine.DavidTest -l cpp -d ./Games”,會在當前資料夾下建立新的資料夾Games

Games裡面會生成一個新專案DavidTest,也可以在-d後面指定絕對路徑在其它地方建立。

編譯和執行

3.1 Win32

cocos2d-win32.sln直接拖到VS 2015上開啟即可。

3.2 iOS

Mac下雙擊cocos2d_tests.xcodeproj啟動即可。

3.3 Windows上編譯Android

開啟專案根目錄(也就是資料夾proj.androidproj.android-studioproj.win32所在的目錄),例如“D:\GameEngines\Cocos\cocos2d-x-3.16\Games\DavidTest”,按Shift+滑鼠右鍵,點在此次開啟命令視窗。

1、命令中cocos.py必須加.py,否則報錯no space left on device

2-p android用於指定編譯平臺,-p後必須是android,不是包名。

3--ap android-20用於指定使用的SDK版本,否則預設會使用android-13,版本太低和太高都容易出錯。

4、如果只想編譯so檔案,在後面加上“--no-apk”就行了。去掉就能直接編譯出apk包了。

這個方法同樣可以用於編譯引擎自帶的例子程式。

***********************************************************************

下面是不成功的方案,僅供自己參考用。

***********************************************************************

自己嘗試的方案:

直接編譯E:\GameEngines\Cocos\cocos2d-x-3.16\tests\cpp-tests\proj.android報錯:

Android NDK:jni/Android.mk: Cannot find module with tag 'cocos2d' in import path

Android NDK: Areyou sure your NDK_MODULE_PATH variable is properly defined ?

Android NDK: Thefollowing directories were searched:

Android NDK:

jni/Android.mk:25:*** Android NDK: Aborting.    .  Stop.

解決方案:在include $(CLEAR_VARS)一行下面新增下面四行即可開始編譯so檔案:

$(callimport-add-path,$(LOCAL_PATH)/../../../../)

$(callimport-add-path,$(LOCAL_PATH)/../../../../external)

$(callimport-add-path,$(LOCAL_PATH)/../../../../cocos)

$(callimport-add-path,$(LOCAL_PATH)/../../../../cocos/audio/include)

使用Eclipse編譯apk包。需要將cocos2d-x-3.16\cocos\platform\android\java\src裡面的java檔案都拷貝過來,還需要將cocos2d-x-3.16\cocos\platform\android\java\libs裡面三個jar檔案都引用到Eclipse工程裡。使用jar的方法參考:https://jingyan.baidu.com/article/ca41422fc76c4a1eae99ed9f.html。出現一個資源找不到的編譯錯誤,參考:http://blog.csdn.net/lincyang/article/details/17487473。能編譯並打包成功,但是執行崩潰。

另一個方案:

試過命令列窗口裡在根目錄的資料夾build下執行android-build.py,但是還沒有嘗試設定引數進行編譯。