Windows下生成cocos2d-x新專案並編譯執行
下面的方法在win7和Win10平臺上,對cocos2d-x-3.14.1和cocos2d-x-3.16兩個版本都試過,沒有問題。
一開發環境搭建
已經搭建好環境的,這部分可以直接跳過。網上有大量教程,在此只是簡略描述下。安裝安卓開發環境推薦使用CodeWorksforAndroid-1R5-windows.exe。這是一鍵安裝安卓開發包,安裝中最好開啟翻牆工具。邊下載邊安裝,需要耐心等待。
一、win7 64位系統搭建Android開發環境需要的軟體
1、cocos2d-x 3.16
2、Visual Studio 2013
3、Android
SDK (其中包括Eclipse
4、Android NDK
5、Ant
6、Python 2.7.x。cocos要求必須是2.7的各個版本,不要下載3.x版本。
二 軟體安裝
1、Visual Studio 2013
2、Python 2.7.x
3、JAVA JDK。需要使用較高的版本,例如jdk1.8.0_77,之前使用jdk1.7.0_71編譯會報錯。如果編譯報錯,檢查下環境變數裡JAVA_HOME的值,看看是不是用的是低版本的。這個坑花了我一個小時排查。
4、cocos2d-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
三編譯和執行
3.1 Win32
將cocos2d-win32.sln直接拖到VS 2015上開啟即可。
3.2 iOS
Mac下雙擊cocos2d_tests.xcodeproj啟動即可。
3.3 Windows上編譯Android
開啟專案根目錄(也就是資料夾proj.android、proj.android-studio、proj.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,但是還沒有嘗試設定引數進行編譯。